我使用了snake_case DB列和camelCase DTO。我们的团队希望在编写React组件时使用snake_case。
因为这个原因,我在DTO上加了@JsonNaming,但是在我发送Json数据的时候,它是可以工作的,大家知道,有没有类似@JsonNaming的注解或者设置?
这是我的 Postman 数据和示例代码。
调试数据:样本名称=名称,样本描述=空。x1c 0d1x
//控制器
@RestController
@RequestMapping("/sample")
public class SampleController {
@Autowired
private SampleService sampleService;
@GetMapping
public Result getSampleList(SampleDTO param) throws Exception {
return sampleService.getFolderList(param);
}
@PostMapping
public Result insertSample(@RequestBody SampleDTO param) throws Exception {
// this method works well with @JsonNaming
return sampleService.insertFolder(param);
}
}
//数据类型
@Setter
@Getter
@NoArgsConstructor
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
@Alias("SampleDTO")
public class SampleDTO {
@NotNull
private Long sampleNo;
@NotBlank
private String sampleName;
private String sampleDesc;
@Builder
public SampleDTO(Long sampleNo, String sampleName, String sampleDesc) {
this.sampleNo = sampleNo;
this.sampleName = sampleName;
this.sampleDesc = sampleDesc;
}
}
1条答案
按热度按时间n3ipq98p1#
我遇到了同样的问题,没有找到相应的注解,但也许您可以在DTO的构造函数中使用@ConstructorProperties,如下所示: