SpringBoot中自定義參數(shù)綁定步驟詳解
正常情況下,前端傳遞來的參數(shù)都能直接被SpringMVC接收,但是也會遇到一些特殊情況,比如Date對象,當我的前端傳來的一個日期時,就需要服務(wù)端自定義參數(shù)綁定,將前端的日期進行轉(zhuǎn)換。自定義參數(shù)綁定也很簡單,分兩個步驟:
1.自定義參數(shù)轉(zhuǎn)換器
自定義參數(shù)轉(zhuǎn)換器實現(xiàn)Converter接口,如下:
public class DateConverter implements Converter<String,Date> { private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); @Override public Date convert(String s) { if ("".equals(s) || s == null) { return null; } try { return simpleDateFormat.parse(s); } catch (ParseException e) { e.printStackTrace(); } return null; } }
convert方法接收一個字符串參數(shù),這個參數(shù)就是前端傳來的日期字符串,這個字符串滿足yyyy-MM-dd格式,然后通過SimpleDateFormat將這個字符串轉(zhuǎn)為一個Date對象返回即可。
2.配置轉(zhuǎn)換器
自定義WebMvcConfig繼承WebMvcConfigurerAdapter,在addFormatters方法中進行配置:
@Configuration public class WebMvcConfig extends WebMvcConfigurerAdapter { @Override public void addFormatters(FormatterRegistry registry) { registry.addConverter(new DateConverter()); } }
OK,如上兩步之后,我們就可以在服務(wù)端接收一個前端傳來的字符串日期并將之轉(zhuǎn)為Java中的Date對象了,前端日期控件如下:
<el-date-picker v-model="emp.birthday" size="mini" value-format="yyyy-MM-dd HH:mm:ss" style="width: 150px" type="date" placeholder="出生日期"> </el-date-picker>
服務(wù)端接口如下:
@RequestMapping(value = "/emp", method = RequestMethod.POST) public RespBean addEmp(Employee employee) { if (empService.addEmp(employee) == 1) { return new RespBean("success", "添加成功!"); } return new RespBean("error", "添加失敗!"); }
其中Employee中有一個名為birthday的屬性,該屬性的數(shù)據(jù)類型是一個Date
相關(guān)文章
記一次集成swagger2(Knife4j)在線文檔提示:Knude4j文檔請求異常的解決辦法
Knife4j是一個集Swagger2 和 OpenAPI3為一體的增強解決方案,下面這篇文章主要給大家介紹了關(guān)于一次集成swagger2(Knife4j)在線文檔提示:Knude4j文檔請求異常的解決辦法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-02-02springboot 實現(xiàn)記錄業(yè)務(wù)日志和異常業(yè)務(wù)日志的操作
這篇文章主要介紹了springboot 實現(xiàn)記錄業(yè)務(wù)日志和異常業(yè)務(wù)日志的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07