核心配置:spring.jackson.property-naming-strategy= CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES
配置寫在apllication.yml中
如 TO:
public class Person {
private String id;
private String name;
private Integer count;
private String smalData;
//get set 省略让禀。挑社。。
}
controller:
@RequestMapping(value="listbyName2",method=RequestMethod.GET)
public List<Person> listPersonbyName(@RequestBody Person p){
JSONObject jo =new JSONObject();
if(dbtype!=null){
RoutingDataSourceContext.setThreadLocalDataSourceKey(dbtype);//切換數(shù)據(jù)源
}
List<Person> list = personService.list(p);
for(Person p:list){
System.out.println("id="+p.getId()+"-------name="+p.getName());
}
return list;
}
請(qǐng)求參數(shù):
{id:1,name:'aa',smal_data:'444' } //使用下劃線規(guī)范
//RequestBody 接受時(shí)使用java的駝峰規(guī)范巡揍,smal_data自動(dòng)轉(zhuǎn)為駝峰smalData
輸出時(shí)List<Person> 里面的smalData又轉(zhuǎn)成請(qǐng)求時(shí)的下劃線規(guī)范 smal_data
訪問controller痛阻,
輸出如下:
[{"id":"1","name":"ooo","count":null,"smal_data":"ssmm"},{"id":"2","name":"rrr","count":null,"smal_data":"ssmm"}]
注意:Person里面的屬性smalData自動(dòng)轉(zhuǎn)成下劃線smal_data給客戶端了
好了,以上就是spring.jackson.property-naming-strategy= CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES
的作用,用于自動(dòng)將controller接受的json的下劃線屬性轉(zhuǎn)成駝峰,將controller輸出的的json中的駝峰屬性轉(zhuǎn)成下劃線屬性