問題:解決sprigboot項(xiàng)目get請(qǐng)求中有下劃線的入?yún)?shù),如:first_name,希望在項(xiàng)目中將下劃線格式轉(zhuǎn)成firstName,用@JsonProperty注解發(fā)現(xiàn)失效問題
1.核查:@JsonProperty注解對(duì)應(yīng)包是否正確
正確包:import com.fasterxml.jackson.annotation.JsonProperty;
如果使用jar正確,還是無(wú)效,往下看
2.在實(shí)體類中重寫參數(shù)的set方法
例子:
實(shí)體類:
package com.iterge.lph_test.entity;
import lombok.AccessLevel;
import lombok.Data;
import lombok.experimental.FieldDefaults;
/**
* Create by LPH 2021/8/3
*/
@Data
@FieldDefaults(level = AccessLevel.PRIVATE)
public class UserReq {
Long id;
String name;
String firstName;
}
Controller:
package com.iterge.lph_test.controller;
import com.iterge.lph_test.entity.UserReq;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author liuph
* @date 2023/8/10 15:01:30
*/
@RestController
@RequestMapping("/test")
@Slf4j
public class ParamController {
@GetMapping("/param/test")
public String params(UserReq req){
log.info("入?yún)?shù):{}",req);
return req.toString();
}
}
結(jié)果:
修改后:
實(shí)體類:
package com.iterge.lph_test.entity;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AccessLevel;
import lombok.Data;
import lombok.experimental.FieldDefaults;
/**
* Create by LiuPH 2021/8/3
*/
@Data
@FieldDefaults(level = AccessLevel.PRIVATE)
public class UserReq {
Long id;
String name;
@JsonProperty("first_name")
String firstName;
public void setFirst_name(String name){
this.firstName = name;
}
}
?運(yùn)行結(jié)果:
文章來源:http://www.zghlxwxcb.cn/news/detail-640231.html
?over~文章來源地址http://www.zghlxwxcb.cn/news/detail-640231.html
到了這里,關(guān)于springboot項(xiàng)目get請(qǐng)求下劃線轉(zhuǎn)駝峰@JsonProperty注解失效問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!