為什么rest接口返回json建議采用下劃線形式,不要用駝峰
今天被數(shù)據(jù)大神說了,對接第三方接口返回的json字段我想用駝峰形式,他說我這樣不專業(yè)。所以就改了,認慫。
記住以后再次對接rest接口,返回的字段用下劃線形式
記錄一下改的內(nèi)容
1.使用fastjson的@JSONField(name = "is_member")
如果沒有fastjson的包,要先引入
<!-- fastjson start --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.54</version> </dependency> <!-- fastjson end -->
實體參數(shù):
/** * 是否會員 */ @JSONField(name = "is_member") private String isMember;
將需要轉換的實體都標注好后,在通過JSONObject轉jsonString的時候,就可以得到字段為下戶線的json了
String json = JSONObject.toJSONString(new Entity());
tips:可以寫個單元測試,測試一下這個轉換是否成功
另外,還可以設置json轉換時去掉某個字段,只需要這么寫
@JSONField(serialize = false)
private String name;
自己寫單元測試試一下吧
2.為了統(tǒng)一,csv文件的header字段我也用了下劃線,但是由于這個不是轉換json,所以上面的方法行不通,所以我自己轉換了一下。
public static final char UNDERLINE = '_'; /** * @Description 駝峰式轉下劃線 */ public static String camelToUnderline(String param) { if (param == null || "".equals(param.trim())) { return ""; } int len = param.length(); StringBuilder sb = new StringBuilder(len); for (int i = 0; i < len; i++) { char c = param.charAt(i); if (Character.isUpperCase(c)) { sb.append(UNDERLINE); sb.append(Character.toLowerCase(c)); } else { sb.append(c); } } return sb.toString(); }
好了,統(tǒng)一下劃線格式就改好了。
補充知識:@JsonProperty注解 和 @Colume注解 -- 駝峰式和下劃線之間的自動轉換
變量名為appid,希望jackson在把對象轉換為json串時變?yōu)?AppId??梢允褂聾JsonProperty注解
@JsonProperty("user_name")
private String userName;
變量名為 createTime, 希望JPA自動對應到數(shù)據(jù)庫的 create_time 字段,可以使用
@Column 注解。 @Column(name = "create_time") public Timestamp getCreateTime() { return createTime; }
以上這篇為什么rest接口返回json建議采用下劃線形式,不要用駝峰就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Mybatis-plus常見的坑@TableField不生效問題
這篇文章主要介紹了Mybatis-plus常見的坑@TableField不生效問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01Maven發(fā)布封裝到中央倉庫時候報錯:no default secret key
這篇文章主要介紹了Maven發(fā)布封裝到中央倉庫時候報錯:no default secret key,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-12-12java.util.NoSuchElementException原因及兩種解決方法
本文主要介紹了java.util.NoSuchElementException原因及兩種解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-06-06SpringMVC整合,出現(xiàn)注解沒有起作用的情況處理
這篇文章主要介紹了SpringMVC整合,出現(xiàn)注解沒有起作用的情況及處理,具有很好的參考價值,希望對大家有所幫助。2023-05-05