日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

基于注解的Controller接口這些高級功能,你都知道嗎?

來源: 責編: 時間:2024-04-28 17:22:34 240觀看
導讀環(huán)境:SpringBoot2.7.181. 簡介基于注解的Controller接口,你可以使用 @RequestMapping 注解將請求映射到控制器方法。它有多種屬性,可根據 URL、HTTP 方法、請求參數(shù)、頭和媒體類型進行匹配。該注解可以在類上使用它來表

環(huán)境:SpringBoot2.7.18AND28資訊網——每日最新資訊28at.com

1. 簡介

基于注解的Controller接口,你可以使用 @RequestMapping 注解將請求映射到控制器方法。它有多種屬性,可根據 URL、HTTP 方法、請求參數(shù)、頭和媒體類型進行匹配。該注解可以在類上使用它來表達共享映射,也可以在方法級使用它來縮小特定接口映射的范圍。AND28資訊網——每日最新資訊28at.com

@RequestMapping 還有 HTTP 方法特定的快捷方式變體:AND28資訊網——每日最新資訊28at.com

  • @GetMapping
  • @PostMapping
  • @PutMapping
  • @DeleteMapping
  • @PatchMapping

通過上面的注解,我們能更加具體的去匹配我們的Controller接口方法。這些注解在開發(fā)中都是些基本的操作,并且在絕大多數(shù)情況下使用這些接口完全夠用了。接下來將介紹幾個高級用法。AND28資訊網——每日最新資訊28at.com

2. 實戰(zhàn)案例

2.1 HEAD、OPTIONS請求

對于head,options請求Spring并沒有提供對應的快捷注解,我們只能通過@RequestMapping注解來指定method屬性。AND28資訊網——每日最新資訊28at.com

@GetMapping (和 @RequestMapping(method=HttpMethod.GET))支持 HTTP HEAD 透明請求映射。控制器方法無需更改。在 javax.servlet.http.HttpServlet 中應用的響應封裝器可確保 Content-Length 標頭被設置為寫入的字節(jié)數(shù)(而不會實際寫入響應)。如下示例:AND28資訊網——每日最新資訊28at.com

@GetMapping("/h")public Object h() {  System.out.println("header....") ;  return "h method..." ;}

當上面的接口以head方式請求時,也是可以成功進入該方法的只是并不會輸出內容到客戶端,而僅僅是通過Content-Leng告知有多少個字節(jié)內容。AND28資訊網——每日最新資訊28at.com

圖片圖片AND28資訊網——每日最新資訊28at.com

響應header中有Content-LengthAND28資訊網——每日最新資訊28at.com

圖片圖片AND28資訊網——每日最新資訊28at.com

對應HEAD請求我們完全可以通過GET方式來解決。AND28資訊網——每日最新資訊28at.com

默認情況下,HTTP OPTIONS 的處理方式是將 Allow 響應頭設置為具有匹配 URL 模式的所有 @RequestMapping 方法中列出的 HTTP 方法列表。簡單說當你通過OPTIONS請求一個URL時,Allow的響應頭會設置為你@RequestMapping(method = ...)這里你method設置的列表+OPTIONS,如下示例:AND28資訊網——每日最新資訊28at.com

@RequestMapping(value = "/o", method = {RequestMethod.DELETE, RequestMethod.HEAD})public Object o() {  System.out.println("o....") ;  return "h method..." ;}

當上面的接口通過OPTIONS請求時,那么響應header Allow將設置為如下:AND28資訊網——每日最新資訊28at.com

圖片圖片AND28資訊網——每日最新資訊28at.com

如果你的@RequestMapping沒有指定method屬性值,那么Allow 頭信息會被設置為 GET,HEAD,POST,PUT,PATCH,DELETE,OPTIONS。上面的即可刪除method屬性再次請求如下:AND28資訊網——每日最新資訊28at.com

圖片圖片AND28資訊網——每日最新資訊28at.com

2.2 自定義請求注解

在某些場景下你可能需要自定義自己的一些注解來配置通用的匹配模式,那么這時候通過自定義請求注解的方式是非常合適的,而不用你對每一個請求都去做重復的事。AND28資訊網——每日最新資訊28at.com

自定義請求注解AND28資訊網——每日最新資訊28at.com

@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documented@RequestMappingpublic @interface PackMapping { @AliasFor(annotation = RequestMapping.class) String name() default ""; @AliasFor(annotation = RequestMapping.class) String[] value() default {}; @AliasFor(annotation = RequestMapping.class) // 配置只能是GET或POST方法 RequestMethod[] method() default {RequestMethod.GET, RequestMethod.POST} ; @AliasFor(annotation = RequestMapping.class) String[] path() default {}; @AliasFor(annotation = RequestMapping.class) String[] params() default {}; // 設置請求header必須包含X-API-Version并且值必須是v1 @AliasFor(annotation = RequestMapping.class) String[] headers() default {"X-API-Versinotallow=v1"}; @AliasFor(annotation = RequestMapping.class) String[] consumes() default {}; @AliasFor(annotation = RequestMapping.class) String[] produces() default {};}

測試Controller接口AND28資訊網——每日最新資訊28at.com

@PackMapping("/v")public Object v() {  System.out.println("自定義請求注解....") ;  return "PackMapping method..." ;}

輸出結果AND28資訊網——每日最新資訊28at.com

圖片圖片AND28資訊網——每日最新資訊28at.com

請求中必須攜帶X-API-Version請求header。AND28資訊網——每日最新資訊28at.com

2.3 動態(tài)顯示注冊接口

你可以通過編程方式注冊處理程序方法,這些方法可以用于動態(tài)注冊或高級情況,例如不同URL下的同一處理程序的不同實例,如下示例:AND28資訊網——每日最新資訊28at.com

@Configurationpublic class CustomWebConfig {  @Autowired  public void setHandlerMapping(RequestMappingHandlerMapping mapping, UserService handler)      throws NoSuchMethodException {    BuilderConfiguration options = new BuilderConfiguration() ;    options.setPatternParser(new PathPatternParser()) ;    RequestMappingInfo info = RequestMappingInfo.paths("/api/user/{id}").methods(RequestMethod.GET).options(options ).build();    Method method = UserHandler.class.getMethod("getUser", Integer.class) ;    mapping.registerMapping(info, handler, method);  }}

UserServiceAND28資訊網——每日最新資訊28at.com

@Componentpublic class UserHandler {    @ResponseBody  public User getUser(@PathVairable("id")Integer id) {    User user = new User() ;    user.setId(id) ;    user.setName("張三") ;    return user ;  }}

輸出結果AND28資訊網——每日最新資訊28at.com

圖片圖片AND28資訊網——每日最新資訊28at.com

以上是本篇文章的全部內容,如對你有幫助就請作者吃個棒棒糖

本文鏈接:http://m.www897cc.com/showinfo-26-86221-0.html基于注解的Controller接口這些高級功能,你都知道嗎?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 21 道JavaWeb經典面試題總結

下一篇: 大模型下B端前端代碼輔助生成的思考與實踐

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
一区二区在线观看视频| 国产精品日日摸夜夜添夜夜av| 一区二区电影免费在线观看| 在线亚洲激情| 亚洲小视频在线| 欧美在线视频导航| 免费高清在线视频一区·| 欧美经典一区二区| 国产精品福利在线观看网址| 国产视频精品xxxx| 亚洲激情六月丁香| 亚洲尤物在线视频观看| 久久精品国产一区二区电影| 欧美激情第3页| 国产精品久久久久久久午夜片| 国产日韩一区二区三区在线播放| 在线视频成人| 亚洲午夜一二三区视频| 久久婷婷国产综合精品青草| 欧美日韩国产亚洲一区| 国产一区二区日韩精品欧美精品| 亚洲精品黄网在线观看| 亚洲香蕉视频| 久久字幕精品一区| 国产精品久久久久毛片大屁完整版| 黄色免费成人| 亚洲一区二区三区欧美| 牛夜精品久久久久久久99黑人| 国产精品久久久免费| 亚洲国产成人精品久久久国产成人一区 | 在线观看亚洲视频啊啊啊啊| 一区二区三区 在线观看视| 久久精品日韩欧美| 国产精品久久久久9999高清| 亚洲福利视频在线| 欧美一区中文字幕| 欧美日韩中文另类| 亚洲国产精品一区在线观看不卡 | 欧美性开放视频| 在线成人www免费观看视频| 亚洲伊人一本大道中文字幕| 欧美大片一区二区| 狠狠色综合网| 亚洲欧美日韩另类| 欧美日韩一区在线观看| 久久综合五月| 国产精品麻豆va在线播放| 91久久在线观看| 久久精品二区三区| 国产精品人人做人人爽人人添| 亚洲区第一页| 乱码第一页成人| 国产一区二区三区视频在线观看| 一区二区三区日韩精品| 欧美好骚综合网| 在线播放豆国产99亚洲| 欧美一区二区三区视频在线| 国产精品成人免费精品自在线观看 | 国产日韩亚洲欧美综合| 亚洲欧美国产另类| 欧美日韩一区二区三区在线看 | 国内精品模特av私拍在线观看| 亚洲图中文字幕| 欧美激情精品久久久久久变态| 精品电影一区| 久久久人成影片一区二区三区 | 欧美精品激情在线| 亚洲高清在线播放| 麻豆亚洲精品| 在线观看亚洲精品| 久久免费视频这里只有精品| 国产欧美精品日韩精品| 亚洲欧美综合| 国产精品欧美日韩| 亚洲图片欧洲图片日韩av| 欧美体内谢she精2性欧美| 日韩午夜精品视频| 欧美日韩国产精品| 99热精品在线| 欧美日韩1区2区| 亚洲麻豆av| 欧美日韩一区二区在线播放| 夜夜嗨av一区二区三区四区| 欧美日韩福利视频| 一区二区毛片| 欧美亚一区二区| 亚洲在线播放| 国产乱码精品一区二区三区忘忧草| 亚洲欧美日韩视频一区| 国产精品激情av在线播放| 亚洲永久精品国产| 国产精品稀缺呦系列在线| 亚洲欧美日韩电影| 国产亚洲精品一区二区| 久久久久中文| 亚洲国产精品一区二区第四页av| 蜜臀99久久精品久久久久久软件 | 亚洲私人影吧| 国产精品永久| 久久精品中文字幕一区| 在线播放中文字幕一区| 欧美国产日韩二区| 亚洲视频www| 国产欧美日韩综合一区在线播放| 久久不射网站| 亚洲国产婷婷综合在线精品| 欧美精品一区二区三区久久久竹菊 | 久久久无码精品亚洲日韩按摩| 激情五月婷婷综合| 欧美高清视频www夜色资源网| 99re6热在线精品视频播放速度| 欧美三级网址| 欧美一区91| 1769国产精品| 欧美日韩日日夜夜| 香蕉成人伊视频在线观看| 国产中文一区| 欧美精品日韩三级| 亚洲欧美视频在线观看视频| 国产一区久久久| 欧美高清在线播放| 亚洲女性喷水在线观看一区| 红桃视频国产精品| 欧美欧美午夜aⅴ在线观看| 亚洲欧美在线免费观看| 在线观看日韩欧美| 国产精品v亚洲精品v日韩精品| 久久成人精品一区二区三区| 亚洲国产精品视频一区| 欧美性大战久久久久久久蜜臀| 久久www成人_看片免费不卡 | 久久久精品日韩欧美| 亚洲日本电影在线| 国产精品一香蕉国产线看观看 | 国产精品久久久久一区| 久久久久综合一区二区三区| 一本久久综合亚洲鲁鲁| 国产在线视频欧美一区二区三区| 欧美国产亚洲精品久久久8v| 午夜精品一区二区三区在线视| 在线观看亚洲一区| 国产精品丝袜91| 1769国产精品| 欧美日韩一区免费| 久久婷婷麻豆| 亚洲欧美日韩成人高清在线一区| 亚洲电影第1页| 国产精品一区二区女厕厕| 欧美国产亚洲另类动漫| 欧美怡红院视频一区二区三区| 亚洲日本免费| 国产一区二区三区免费在线观看| 欧美日韩一区二区三区视频| 久久久亚洲成人| 亚洲欧美另类中文字幕| 亚洲人成人99网站| 国内精品国产成人| 国产精品久久激情| 欧美激情亚洲视频| 久久久久免费视频| 午夜精品免费| 一区二区高清| 亚洲人成网站在线观看播放| 国内精品美女在线观看| 国产精品蜜臀在线观看| 欧美日本久久| 欧美成人免费一级人片100| 欧美一区二区免费| 亚洲一区二区视频| 亚洲免费av片| 亚洲国产精品久久久久婷婷884 | 一区免费观看| 国产婷婷色综合av蜜臀av| 欧美午夜久久| 欧美日韩精品是欧美日韩精品| 女人香蕉久久**毛片精品| 久久久精品一区| 欧美一级理论片| 亚洲无限乱码一二三四麻| 亚洲毛片av在线| 亚洲人成网站999久久久综合| 尹人成人综合网| 韩国精品主播一区二区在线观看| 国产精品日韩一区二区| 国产精品v欧美精品∨日韩| 欧美日韩国产美| 欧美另类videos死尸| 欧美高清在线精品一区| 欧美77777| 毛片基地黄久久久久久天堂| 久久久噜噜噜久久久| 久久久久久91香蕉国产| 久久九九99| 久久精品人人爽| 久久www成人_看片免费不卡| 欧美与黑人午夜性猛交久久久| 亚洲欧美怡红院| 性欧美大战久久久久久久久| 亚洲欧美日韩高清| 亚洲免费在线精品一区| 亚洲欧美日韩国产成人精品影院| 亚洲专区一区| 亚洲欧美在线一区| 午夜综合激情|