@RequestBody時第二個字母大寫,映射不到的解決
@RequestBody第二個字母大寫,映射不到
記錄一下今天遇到的一個問題, 賊難受
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 }
這是日志拿到的數(shù)據(jù)
可以看到拿不到pId數(shù)據(jù)(p_id的駝峰寫法),
原因:這里使用的@Data注解(省去了get和set方法)
public Long getPId() { ... } public void setPId(Long PId) { ... }
而javaBean的規(guī)范導(dǎo)致json傳參首字母大寫將永遠(yuǎn)獲取不到
參考javaBean的規(guī)范導(dǎo)致json傳參首字母大寫將永遠(yuǎn)獲取不到。。。
解決辦法:
1,不去使用首字目大寫或第二個字母大寫的參數(shù)
2,自己生成get和set方法
3,使用@JsonProperty注解
@JsonProperty("pId") private Long pId;
Springboot中@RequestBody大小寫轉(zhuǎn)換
使用fastjson
請求參數(shù)首字母轉(zhuǎn)為小寫
@Data public class RequestModel { @JsonProperty("BODY") @JSONField(name = "BODY") private RequestBodyModel Body; }
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java web Hibernate如何與數(shù)據(jù)庫鏈接
這篇文章主要介紹了Java web Hibernate如何與數(shù)據(jù)庫鏈接,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06簡單注解實現(xiàn)集群同步鎖(spring+redis+注解)
本文主要介紹了簡單注解實現(xiàn)集群同步鎖的步驟與方法。具有一定的參考價值,下面跟著小編一起來看下吧2017-01-01springBoot controller,service,dao,mapper,model層的作用說明
這篇文章主要介紹了springBoot controller,service,dao,mapper,model層的作用說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11Mybatis-plus如何在xml中傳入自定義的SQL語句
這篇文章主要介紹了Mybatis-plus如何在xml中傳入自定義的SQL語句問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05Java對敏感數(shù)據(jù)進(jìn)行加密的方法詳解
敏感數(shù)據(jù)的加密是數(shù)據(jù)安全的重要方面,尤其是對于手機(jī)號和身份證號這類個人信息,本文主要為大家介紹了Java對敏感數(shù)據(jù)進(jìn)行加密的相關(guān)方法,希望對大家有所幫助2024-03-03Java 中普通代碼塊,構(gòu)造代碼塊,靜態(tài)代碼塊區(qū)別及代碼示例
這篇文章主要介紹了Java 中普通代碼塊,構(gòu)造代碼塊,靜態(tài)代碼塊區(qū)別及代碼示例的相關(guān)資料,需要的朋友可以參考下2017-01-01