1.解決辦法:
1,不去使用首字目大寫或第二個(gè)字母大寫的參數(shù)
2,自己生成get和set方法
image.png
3,使用@JsonProperty注解
@JsonProperty("pId") private Long pId;
2.問題的產(chǎn)生
controller
/**
* 添加
*
* @param requestNavigationTagVO
* @return
*/
@PostMapping("/add")
public JsonData add(@RequestBody RequestNavigationTagVO requestNavigationTagVO) {
navigationTagService.add(requestNavigationTagVO);
return JsonData.ok();
}
RequestNavigationTagVO
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
public class RequestNavigationTagVO {
/**
* id
*/
private Long id;
/**
* 所屬導(dǎo)航id
*/
@NotNull(groups = {AddNavigationTag.class, ModifyNavigationTag.class}, message = "所屬導(dǎo)航id不能為空")
private Long pId;
/**
* 標(biāo)簽名稱
*/
@NotBlank(groups = {AddNavigationTag.class, ModifyNavigationTag.class}, message = "標(biāo)簽名稱不能為空")
private String name;
/**
* 排序
*/
@NotNull(groups = {AddNavigationTag.class, ModifyNavigationTag.class}, message = "排序不能為空")
private Integer sort;
}
postman調(diào)接口
{
"pId": 654577072911111,
"name":"中餐",
"sort":1
}
image.png
可以看到拿不到pId數(shù)據(jù)(p_id的駝峰寫法),
原因: 這里使用的@Data注解(省去了get和set方法)
public Long getPId() {
...
}
public void setPId(Long PId) {
...
}
參考javaBean的規(guī)范導(dǎo)致json傳參首字母大寫將永遠(yuǎn)獲取不到疮茄。溃蔫。。
轉(zhuǎn)自:
https://blog.csdn.net/jiahao791869610/article/details/93744864