最近在工作中遇到乙個介面入參型別轉換錯誤未被處理的問題,於是整理了一些關於springmvc入參的問題
1、入參中我們最常見的是date型別的引數轉換,這個可以通過註解來實現引數型別的轉換,只需在bean物件的屬性上方新增註解@datetimeformat(pattern=「yyyy-mm-dd」),pattern為時間物件的格式化
2、在controller類裡定義資料繫結類
/**
* 在controller層中加入一段資料繫結**
* @param webdatabinder
*/@initbinder
public void initbinder(webdatabinder webdatabinder) throws exception
3、定義全域性的引數型別轉換器
首先建立乙個實現converter的轉換器
public class dateconverter implements converter
try catch (parseexception e)
return null;}}
然後將該引數轉換器繫結到springmvc的配置中
@configuration
public class webconfigbeans }}
在springmvc的模型中,若引數轉換出現異常,會直接跳轉到預設的錯誤400頁面,如果我們做的為介面,需返回乙個代表錯誤的json物件時,我們可以使用乙個全域性的異常處理類,類上新增註解@restcontrolleradvice使得異常處理後返回rest風格的物件,使用@controlleradvice返回頁面
@restcontrolleradvice
public class controlleradvice )
public baseresp dealdatefarmatexception(throwable exception)
}
Springboot專案新增介面入參統一列印
需求 要求介面被呼叫時要列印被呼叫方法名,以及入參情況,引數格式化時選擇fastjson 新建註解,用於實現引數列印功能的增強 target retention retentionpolicy runtime documented public inte ce paraminfo 自定義序列化規則 ...
spring boot 三種入參
restcontroller註解能夠使專案支援rest restcontroller 表示該controller類下所有的方法都公用的一級上下文根 public class usercontroller 通過requestmethod.post表示請求需要時post方式 string getuser...
SpringBoot利用Aop列印入參出參日誌
以前寫 不會用aop的時候,記錄入參出參的日誌列印都是在controller中完成的,每個controller的方法開始之前先列印個日誌,然後方法返回之前再列印一行日誌,雖然以前也感覺到這個 比較冗餘,也知道aop可以實現日誌列印,但是思維固話了,也習慣了,也就得過且過了。直到接到上任同事留下的專案...