前端入參或者其他系統呼叫介面 引數缺失統一處理

2021-10-12 12:45:31 字數 1073 閱讀 1769

//@notnull 驗證物件是否不為null, 無法查檢長度為0的字串

//@notblank 檢查約束 (字串) 是不是null還有被trim的長度是否大於0,只對字串,且會去掉前後空格.

//@notempty 檢查(集合)約束元素是否為null或者是empty.

@notblank(message = "物流公司不能為空")

private string frombilllogistics;

入參加了上述的註解 來校驗欄位的非空。但是返回給前端或者其他系統的結果提示不太友好。

通過測試,檢視日誌及返回值,發現引數缺失時,會丟擲異常:

所以,我們要對一些異常進行統一處理,首先在我們自定義的異常類加上@controlleradvice註解,然後編寫具體的異常處理,在方法上加上@exceptionhandler(value = methodargumentnotvalidexception.class)註解,這樣該異常就會被這個方法捕獲,並且執行方法內的**進行統一異常處理。

@exceptionhandler(value = methodargumentnotvalidexception.class)

@responsebody

public serverresponse methodargnotvalid(methodargumentnotvalidexception e)

注:responsecode以及serverresponse這兩個類為我們公司封裝的**,具體的返回物件可自己定義

定義了上述的自定義異常處理類後,返回的結果變成了下面這樣:

就這樣完美解決啦!

參考部落格鏈結

rpc 方式呼叫webservice介面引數說明

最經在專案中用到 webservice介面呼叫問題 需要使用rpc方式去請求webservice 提供方法,在使用時中間出現一些問題 在此記錄備註 使用rpc方式呼叫webservice rpcserviceclient serviceclient new rpcserviceclient opti...

DWR呼叫入參為Map的方法

在頁面中通過dwr技術呼叫入參為map的後台方法時,只需要在頁面中定義如下格式的函式就可以了 var mapit 我頁面的實現 var bigclassselect document.getelementbyid imtypeid var bigclassvalue bigclassselect.o...

Springboot專案新增介面入參統一列印

需求 要求介面被呼叫時要列印被呼叫方法名,以及入參情況,引數格式化時選擇fastjson 新建註解,用於實現引數列印功能的增強 target retention retentionpolicy runtime documented public inte ce paraminfo 自定義序列化規則 ...