1 前端属性名和后台实体类属性名不一致
@JsonProperty可以解决前端的属性名和后台实体类的属性名不一致问题
import com.fasterxml.jackson.annotation.JsonProperty;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserVO {
@JsonProperty("uid")
private Integer userId; // 出参 json key 是 @JsonProperty中的参数而不是实体中定义的属性名
private String nickName;
}
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserDTO {
@JsonProperty("uid")
private Integer userId; // 入参 json key 是 @JsonProperty中的参数而不是实体中定义的属性名
}
@RestController
public class UserController {
@PostMapping("/jsonTest")
public UserVO selectUser(@RequestBody @Validated UserDTO userDTO) {
return UserVO.builder()
.userId(userDTO.getUserId())
.nickName(UUID.randomUUID().toString())
.build();
}
}