成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

Spring MVC獲取HTTP請求頭的兩種方式小結

瀏覽:198日期:2023-07-25 10:28:49
1 前言

請求是任何Web服務要關注的對象,而請求頭也是其中非常重要的信息。本文將通過代碼講解如何在Spring MVC項目中獲取請求頭的內容。主要通過兩種方式獲取:

(1)通過注解@RequestHeader獲取,需要在Controller中顯式獲取;

(2)通過RequestContextHolder獲取,可以任何地方獲取。

接下來通過代碼講解。

2 通過注解@RequestHeader獲取

需要在Controller中顯示使用@RequestHeader。

2.1 獲取某個請求頭

只獲取其中一個請求頭,相當容易,代碼如下:

@GetMapping('/webSite')public String webSite(@RequestHeader('webSite')String webSite) { return 'The webSite is ' + webSite;}

這里獲取的是webSite這個請求頭,測試如下:

$ curl http://localhost:8088/header/webSite -H ’webSite: www.pkslow.com’The webSite is www.pkslow.com

我們查看@RequestHeader的源碼,它還有其它屬性,如下所示:

public @interface RequestHeader { @AliasFor('name') String value() default ''; @AliasFor('value') String name() default ''; boolean required() default true; String defaultValue() default 'nttnttnue000ue001ue002nttttn';}

2.1.1 屬性required

required屬性默認為true,如果不配置而客戶端沒有傳遞該請求頭,會有報錯。如果配置為false且沒有請求頭,值為null。代碼如下:

@GetMapping('/webSite-not-required')public String webSiteNotRequired(@RequestHeader(value = 'webSite', required = false)String webSite) { return 'The webSite is ' + webSite;}

測試結果如下:

$ curl http://localhost:8088/header/webSite-not-required -H ’webSite: www.pkslow.com’The webSite is www.pkslow.com$ curl http://localhost:8088/header/webSite-not-requiredThe webSite is null

2.1.2 屬性defaultValue

defaultValue更容易理解,通過它來設置默認值。如果有傳遞則獲取客戶端傳遞的值,如果沒有傳遞為默認值。代碼如下:

@GetMapping('/webSite-defaultValue')public String webSiteDefaultValue(@RequestHeader(value = 'webSite', defaultValue = 'pkslow.com')String webSite) { return 'The webSite is ' + webSite;}

測試結果如下:

$ curl http://localhost:8088/header/webSite-defaultValue -H ’webSite: www.pkslow.com’The webSite is www.pkslow.com$ curl http://localhost:8088/header/webSite-defaultValueThe webSite is pkslow.com2.2 獲取所有請求頭

注解@RequestHeader除了可以獲取某個請求頭,還可以一次性獲取所有請求頭,這時不需要指定名字。可以通過Map、MultiValueMap和HttpHeaders來獲取所有請求頭的值,示例代碼如下:

@GetMapping('/allMap')public Map<String, String> allMap(@RequestHeader Map<String, String> headers) { return headers;}@GetMapping('/allMultiValueMap')public Map<String, String> allMultiValueMap(@RequestHeader MultiValueMap<String, String> headers) { return headers.toSingleValueMap();}@GetMapping('/allHttpHeaders')public String allHttpHeaders(@RequestHeader HttpHeaders headers) { return headers.toString();}

測試如下:

$ curl http://localhost:8088/header/allMap -H ’Authorization: Basic cGtzbG93OjEyMzQ1Ng==’ -H ’webSite: www.pkslow.com’{'host':'localhost:8088','user-agent':'curl/7.64.1','accept':'*/*','authorization':'Basic cGtzbG93OjEyMzQ1Ng==','website':'www.pkslow.com'}$ curl http://localhost:8088/header/allMultiValueMap -H ’Authorization: Basic cGtzbG93OjEyMzQ1Ng==’ -H ’webSite: www.pkslow.com’{'host':'localhost:8088','user-agent':'curl/7.64.1','accept':'*/*','authorization':'Basic cGtzbG93OjEyMzQ1Ng==','website':'www.pkslow.com'}$ curl http://localhost:8088/header/allHttpHeaders -H ’Authorization: Basic cGtzbG93OjEyMzQ1Ng==’ -H ’webSite: www.pkslow.com’[host:'localhost:8088', user-agent:'curl/7.64.1', accept:'*/*', authorization:'Basic cGtzbG93OjEyMzQ1Ng==', website:www.pkslow.com]3 通過RequestContextHolder獲取

通過RequestContextHolder來獲取則可以在其它層獲取。它先獲取Request對象,再獲取請求頭。代碼如下:

@GetMapping('/webSite-RequestContextHolder')public String webSiteRequestContextHolder() { ServletRequestAttributes requestAttributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes(); // get the request HttpServletRequest request = requestAttributes.getRequest(); return 'The webSite is ' + request.getHeader('webSite');}

測試如下:

$ curl http://localhost:8088/header/webSite-RequestContextHolder -H ’webSite: www.pkslow.com’The webSite is www.pkslow.com4 總結

以上兩個方法,對于WebFlux而言,通過注解@RequestHeader獲取是可行的;通過RequestContextHolder獲取則不行,可參考【在Spring WebFlux的任何地方獲取Request對象】。

代碼請查看:https://github.com/LarryDpk/pkslow-samples

以上就是Spring MVC獲取HTTP請求頭的兩種方式小結的詳細內容,更多關于Spring MVC獲取HTTP請求頭的資料請關注好吧啦網其它相關文章!

標簽: Spring
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产日韩成人精品| 欧美日韩一级片在线观看| 欧美精品高清视频| 亚洲成人7777| 亚洲激情精品| 亚洲人成网站在线| 韩国一区二区三区在线观看| 精品动漫一区二区三区在线观看| 午夜伊人狠狠久久| 久久久久国产精品一区三寸| 中文字幕一区二区三区精华液| 99久久精品免费| 久久久久久久综合色一本| 99国产精品久久久| 国产日韩一级二级三级| 91免费版pro下载短视频| 亚洲国产岛国毛片在线| 激情综合视频| 日韩影院精彩在线| 69堂精品视频| 亚洲午夜黄色| 国产精品18久久久| 日韩一级二级三级精品视频| 91视频精品在这里| 五月天激情综合网| 精品对白一区国产伦| 一本久道久久综合婷婷鲸鱼| 韩国欧美国产一区| 亚洲精品ww久久久久久p站| 亚洲精品色图| 国产电影一区在线| 亚洲精品高清视频在线观看| 91久久线看在观草草青青 | 女人天堂亚洲aⅴ在线观看| 亚洲精品中文在线| 欧美xxxx在线观看| 久久国产精品高清| 欧美~级网站不卡| 日韩在线卡一卡二| 亚洲国产高清不卡| 日韩精品在线一区二区| 欧美亚洲三级| 欧美午夜免费影院| 风流少妇一区二区| 日韩电影免费在线看| 亚洲欧美日韩在线| 久久综合资源网| 欧美日韩精品一区视频| 亚洲欧美大片| 亚洲黄页一区| 影音先锋久久久| 91麻豆国产在线观看| 狠狠色综合日日| 日日骚欧美日韩| 亚洲福利一区二区| 国产精品看片你懂得| 国产午夜精品久久久久久免费视| 色久综合一二码| 色婷婷av久久久久久久| 麻豆成人av| 在线观看一区二区视频| 一本一道综合狠狠老| 久久精品99| 国内精品一区二区| 国内精品久久久久久久果冻传媒 | 久久精品视频一区| 国产欧美日韩久久| 中文字幕中文字幕一区二区| ...xxx性欧美| 亚洲18色成人| 奇米综合一区二区三区精品视频| 日本大胆欧美人术艺术动态| 日韩精品一二三| 国产成人在线观看免费网站| 福利91精品一区二区三区| 成人高清视频在线观看| 欧美亚洲不卡| 六月婷婷一区| 在线成人av网站| 久久九九久久九九| 亚洲嫩草精品久久| 免费观看在线色综合| 成人免费高清在线| 亚洲伦伦在线| 欧美久久久一区| 国产精品欧美一区二区三区| 天天综合色天天综合色h| 国产乱码精品一区二区三| 99国产精品国产精品毛片| 国产伦精品一区二区三区照片91 | 九九九久久久精品| 极品日韩久久| 日韩一级高清毛片| 亚洲国产欧美在线| 成人av小说网| 91精品91久久久中77777| 国产欧美日韩另类一区| 麻豆视频一区二区| 亚洲毛片av| 久久精品亚洲一区二区三区浴池| 午夜久久久久久久久| 99re这里只有精品首页| 欧美日韩国产一区| 亚洲国产一区在线观看| 欧美影视一区| 欧美福利视频一区| 亚洲18女电影在线观看| 亚洲视频高清| 日韩手机在线导航| 紧缚捆绑精品一区二区| 中日韩在线视频| 自拍偷拍国产亚洲| 欧美日本三区| 久久精品亚洲精品国产欧美kt∨| 久久av中文字幕片| 亚洲高清在线播放| 欧美写真视频网站| 亚洲成av人片在线观看无码| 韩国亚洲精品| 亚洲欧美在线观看| 在线日韩av永久免费观看| 亚洲一区二区三区自拍| 91免费视频网址| 中文字幕av资源一区| 欧美日本中文| 国产精品久久久久影视| 欧美另类女人| 亚洲女人的天堂| 久久久99爱| 日本不卡一二三| 欧美日精品一区视频| 国产一区二区三区最好精华液| 欧美老肥妇做.爰bbww| 国产成人免费视频网站| 久久精品夜色噜噜亚洲aⅴ| 91视频精品在这里| 亚洲美女在线一区| 久久综合福利| 国产成人综合在线| 国产午夜精品一区二区三区嫩草 | 国产精一区二区三区| www欧美成人18+| 亚洲免费中文| 国产精品自在欧美一区| 亚洲视频在线观看一区| 国产精品一区亚洲| 成人avav在线| 亚洲国产日韩一区二区| 91精品免费观看| 影音先锋亚洲一区| 国产综合色视频| 中文字幕色av一区二区三区| 久久精品日产第一区二区三区| 国产成人免费视频精品含羞草妖精| 欧美激情一区二区三区四区| 日本精品一区二区三区高清| 91老师片黄在线观看| 五月婷婷欧美视频| 国产欧美精品一区二区色综合 | 国产亚洲欧美一区二区| 成人动漫一区二区| 精品无人码麻豆乱码1区2区| 成人免费在线视频| 久久综合999| 欧美日本高清视频在线观看| 久久av一区二区| 国语自产精品视频在线看8查询8| 国产精品一二三四区| 日本成人超碰在线观看| 日韩av一区二区在线影视| 91.com视频| 国产一区二区三区免费不卡| 99精品国产91久久久久久| 国产一二三精品| 美国一区二区三区在线播放| 亚洲免费观看在线视频| 国产精品你懂的在线欣赏| 久久久久高清精品| 欧美成va人片在线观看| 欧美亚洲综合一区| eeuss鲁片一区二区三区在线看| 国产专区综合网| 精品写真视频在线观看 | 亚洲午夜一区| 欧美激情第10页| 尤物在线精品| 欧美黄色精品| 欧美精品成人| 国产精品www.| 激情综合视频| 色婷婷国产精品| 欧美日韩一区二区三区高清| 欧美亚洲高清一区二区三区不卡| 欧美伦理视频网站| 欧美日韩在线播放三区| 91久久精品午夜一区二区| 欧美在线你懂得| 欧美肥妇free| 欧美亚洲一区二区在线| 欧美成人女星排行榜|