springboot介面入參的一些問題

2021-08-29 14:14:03 字數 1120 閱讀 4268

最近在工作中遇到乙個介面入參型別轉換錯誤未被處理的問題,於是整理了一些關於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可以實現日誌列印,但是思維固話了,也習慣了,也就得過且過了。直到接到上任同事留下的專案...