專案之如何建立乙個高復用的服務響應物件

2021-08-20 20:59:29 字數 1630 閱讀 4482

在最開始做專案的時候,往往沒有注意到服務響應物件復用的的問題,在web開發中,現在比較流行的是從控制層往前臺返回json格式的資料,而若每次的返回都設計乙個類的話,不方便使用的同時也會顯得很臃腫,不僅**不夠規範和美觀,而且對於開發人員來說也很痛苦,所以後來我改進過後建立了乙個高復用的服務響應物件:

//保證json序列化的時候,如果是null的物件,key也會消失

@jsoninclude(jsoninclude.include.non_null)

public class serverresponse

private serverresponse(int status,t data)

private serverresponse(int status,string msg,t data)

private serverresponse(int status,string msg)

@jsonignore

//因為下面的方法是public的,所以json序列化過後會返回在給前端的結果中,所以加了@jsonignore就序列化它了

public boolean issuccess()

public static serverresponsecreatebysuccess()

public static serverresponsecreatebysuccessmessage(string msg)

public static serverresponsecreatebysuccess(t data)

public static serverresponsecreatebysuccessmessage(string msg,t data)

public static serverresponsecreatebyerror()

public static serverresponsecreatebyerrormessage(string message)

public static serverresponsecreatebyerrorcodemessage(integer errcode,string msg)

public integer getstatus()

public void setstatus(integer status)

public string getmsg()

public void setmsg(string msg)

public t getdata()

public void setdata(t data)

}

@jsonignore
表示該屬性或者方法不參與序列化的進行,不會出現在序列化的結果中

@jsoninclude(jsoninclude.include.non_null)
表示當我的某個屬性為空的時候,不出現序列化的結果中,並且我還列舉了一些同等級的情況如下:

//如果放在類上邊,那對這個類的全部屬性起作用

預設

屬性為預設值不序列化

屬性為 空(「」) 或者為 null 都不序列化

屬性為null 不序列化 。

這樣我們每乙個返回前端的物件都可以是這個serverresponse物件,只需要在使用的時候呼叫不同的方法並賦值即可

你如何設計乙個高併發專案?

工作3年左右面試通常會被問到這個問題。我之前也被問到過這個問題,感覺自己回答的點不夠全面,現在重新整理下,包含不限於以下幾點 1 框架設計 對專案拆分成功能單一小專案 參考購物 使用分布式框架,如 dubbo框架,微服務框架。2 資料庫 資料庫集群部署,主備設計,讀寫分離,對資料量大讀寫操作頻繁的表...

建立乙個專案

如果這是你第一次使用django 你將不得不注意一些初始化步驟。你將需要自動生成一些 來建立乙個 django 專案 它是乙個針對 django 例項的設定的收集,包括資料庫設定,特定 django 的選項和特定應用程式的選項。從命令列,cd 到你想儲存你 的目錄,然後使用下列命令 這將會在你當前目...

程序的建立 如何發起乙個新專案

fork是乙個系統呼叫,根據系統呼叫的流程,最後在sys call table中找到相應的系統呼叫sys fork。根據syscall define0這個巨集的定義,下面 代表了sys fork syscall define0 fork sys fork會呼叫 do fork。long do for...