摘要:使用注解描述參數(shù)獲取方法表示路徑的層通過(guò)方法獲取參數(shù)可以簡(jiǎn)化為使用注解對(duì)參數(shù)進(jìn)行校驗(yàn)一個(gè)數(shù)據(jù)傳輸對(duì)象用戶名用戶名用戶名不符合規(guī)則位,僅可包含字母大小寫,數(shù)字,下劃線昵稱昵稱用戶名不符合規(guī)則位,僅可包含字母大小寫,數(shù)字,下劃線
使用@GetMapping注解描述參數(shù)獲取方法
`@RequestMapping(value = "/list",method = RequestMethod.GET)`
使用@Validated注解對(duì)參數(shù)進(jìn)行校驗(yàn)表示*/list路徑的controller層,通過(guò)get方法獲取參數(shù),可以簡(jiǎn)化為:
`@GetMapping("/list")`
一個(gè)數(shù)據(jù)傳輸對(duì)象UserAccount:
@Data @ApiModel public class UserAccount { /** * 用戶名 */ @ApiModelProperty(value = "用戶名") @Pattern(regexp = "^[a-zA-Z0-9_]{6,32}$", message = "用戶名不符合規(guī)則(6-32位,僅可包含:字母大小寫,數(shù)字,下劃線)") private String username; /** * 昵稱 */ @ApiModelProperty("昵稱") @Pattern(regexp = "^[a-zA-Z0-9_]{6,32}$",message = "用戶名不符合規(guī)則(6-32位,僅可包含:字母大小寫,數(shù)字,下劃線)") private String nickName; /** * 手機(jī)號(hào) */ @ApiModelProperty("手機(jī)號(hào)") @Pattern(regexp = "^1[0-9]{10}$",message = "手機(jī)號(hào)是1開頭的11位數(shù)字") private String phone; }
一般用于登錄校驗(yàn),@pattern表示參數(shù)的規(guī)則,controller層:
@ApiOperation(value = "用戶創(chuàng)建/注冊(cè)") @PostMapping("/create") public HttpResult create(@RequestBody @Validated UserAccount userAccount,BindingResult bindingResult){ if (bindingResult.hasErrors()){ return HttpResult.fail(HttpFail.DTO_INVALID.getCode(),bindingResult.getFieldError().getDefaultMessage()); }
前端會(huì)要求輸入三個(gè)設(shè)定的參數(shù):
`
{
"nickName": "string",
"phone": "1233456656",
"username": "string"
}
`
因?yàn)槭褂昧?b>@validate注解,所以不需要在代碼中再寫一堆if...else來(lái)做判斷了,如果輸入的參數(shù)不符合@pattern的匹配規(guī)則,會(huì)直接提示參數(shù)錯(cuò)誤的原因,程序也不會(huì)因?yàn)楫惓6苯訏斓?除了@pattern,還有其他判斷校驗(yàn)的注解:比如@NotNull,@NotBlank,具體的可以參考這篇文章中的數(shù)據(jù)校驗(yàn).
接口中配置路由@GetMapping(value = "/info/{id}"),要讓方法體中的參數(shù)傳到{id}中,可以這樣:
public HttpResultinfo(@RequestBody @PathVariable("id") Integer id){ if (id == 0){ return HttpResult.fail(HttpFail.ID_ZERO_ERROR); }
@PathVariable后的參數(shù)名稱要與路由中的名稱相同,這個(gè)注解表明了方法中的參數(shù)要代替路由中的參數(shù),實(shí)現(xiàn)動(dòng)態(tài)路由傳參.
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/76333.html
摘要:使用可以大大減少代碼行數(shù),提高開發(fā)效率。提供了日志工具無(wú)參構(gòu)造器提供方法提供方法方法有參構(gòu)造器,參數(shù)按屬性定義順序傳入提供了空指針檢測(cè),會(huì)拋出異常 lombok 是一個(gè)第三方工具,提供了一些注解功能,可以幫助我們消除冗余、臃腫的 Java 代碼,比如 POJO 的 getter/setter 方法、構(gòu)造方法、hashcode 方法等。lombok 在編譯時(shí)根據(jù)注解生成具體的代碼,在虛擬...
摘要:通過(guò)控制反轉(zhuǎn),對(duì)象在被創(chuàng)建的時(shí)候,由一個(gè)調(diào)控系統(tǒng)內(nèi)所有對(duì)象的外界實(shí)體,將其所依賴的對(duì)象的引用傳遞給它。依賴注入接下來(lái)是分析注解和依賴并創(chuàng)建對(duì)象,注入依賴。 控制反轉(zhuǎn)(Inversion of Control,縮寫為IoC),是面向?qū)ο缶幊讨械囊环N設(shè)計(jì)原則,可以用來(lái)減低計(jì)算機(jī)代碼之間的耦合度。其中最常見的方式叫做依賴注入(Dependency Injection,簡(jiǎn)稱DI),還有一種方式...
摘要:中的詳解必修個(gè)多線程問題總結(jié)個(gè)多線程問題總結(jié)有哪些源代碼看了后讓你收獲很多,代碼思維和能力有較大的提升有哪些源代碼看了后讓你收獲很多,代碼思維和能力有較大的提升開源的運(yùn)行原理從虛擬機(jī)工作流程看運(yùn)行原理。 自己實(shí)現(xiàn)集合框架 (三): 單鏈表的實(shí)現(xiàn) 自己實(shí)現(xiàn)集合框架 (三): 單鏈表的實(shí)現(xiàn) 基于 POI 封裝 ExcelUtil 精簡(jiǎn)的 Excel 導(dǎo)入導(dǎo)出 由于 poi 本身只是針對(duì)于 ...
摘要:是由團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新應(yīng)用的初始搭建以及開發(fā)過(guò)程。該框架使用了特定的方式來(lái)進(jìn)行配置,從而使開發(fā)人員不再需要定義樣板化的配置。使用的創(chuàng)建根據(jù)下面的圖片引道進(jìn)行項(xiàng)目創(chuàng)建即可。 一. 簡(jiǎn)單介紹一下Spring Boot 世界慣例,在學(xué)習(xí)一個(gè)框架之前,我們需要了解一下這個(gè)框架的來(lái)歷。 下面我們引用一下百度百科的解釋。 Spring Boot是由Pivotal團(tuán)隊(duì)提供的...
閱讀 1269·2021-11-19 09:40
閱讀 3128·2021-11-02 14:47
閱讀 3101·2021-10-11 10:58
閱讀 3224·2019-08-30 15:54
閱讀 2678·2019-08-30 12:50
閱讀 1732·2019-08-29 16:54
閱讀 473·2019-08-29 15:38
閱讀 1243·2019-08-29 15:19