国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Spring根據URL參數進行路由的方法詳解

Spring根據URL參數進行路由的方法詳解

2021-02-25 22:56木杉 Java教程

這篇文章主要給大家介紹了關于Spring根據URL參數進行路由的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起來看看吧。

前言

本文主要介紹了關于Spring根據URL參數進行路由的相關內容,分享出來供大家參考學習價值,下面來一起看看詳細的介紹吧。

發現問題

最近在寫接口的時候發現一個問題,就是兩個REST接口的URL的path部分是一樣的,根據query傳入不同的參數來區分。

比如S3普通上傳接口是是:

?
1
PUT /{bucketname}/{ objectname}

分塊上傳的接口是:

?
1
PUT /{bucketname}/{objectname}?partNumber={partNumber}&uploadId={uploadId}

傳入partNumber和uploadId是一個接口,沒有傳入這兩個參數是另外一個接口,那Spring中要如何進行路由設置呢?

一般我們設置路由都是@RequestMapping(value = "/xx", method = RequestMethod.GET) 。然后在方法簽名中可以通過@RequestParam注入參數。

但是直接通過注入不同的參數來實現區分是不行的,比如:

?
1
2
3
4
5
6
7
8
9
10
@ResponseBody
@RequestMapping(value = "/xx", method = RequestMethod.GET)
public String get1(){
 return "get1";
}
@ResponseBody
@RequestMapping(value = "/xx", method = RequestMethod.GET)
public String get2(@RequestParam name){
 return "get2" + name;
}

這樣會報錯:

?
1
2
3
java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'DemoController_v01' method
public java.lang.String com.nd.sdp.ndss.controller.v01.DemoController.get1()
to {[/demo/xx],methods=[GET]}: There is already 'DemoController_v01' bean method

解決方法

意思是重復注冊了,所以@RequestParam是不能用來作為路由依據的。

@RequestParam

用來處理Content-Type: 為 application/x-www-form-urlencoded編碼的內容。(Http協議中,如果不指定Content-Type,則默認傳遞的參數就是application/x-www-form-urlencoded類型)

RequestParam可以接受簡單類型的屬性,也可以接受對象類型。

實質是將Request.getParameter() 中的Key-Value參數Map利用Spring的轉化機制ConversionService配置,轉化成參數接收對象或字段。

@RequestMapping作為路由注解,除了常用的value字段用于設置url外,還提供了params參數,可以指定如何匹配url中query的參數。又幾種配置方法:

  • myParam=myValue匹配有myParam參數,并且等于myValue的url
  • myParam!=myValue匹配有myParam參數,并且不等于myValue的url
  • myParam匹配有myParam參數的url
  • !myParam匹配沒有myParam參數的url

這樣就可以很靈活的指定路由了。

而且@RequestMapping還提供了headers參數,可以讓我們根據Header的情況進行路由!

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。

原文鏈接:http://mushanshitiancai.github.io/2017/11/30/java/spring/Spring筆記-根據URL參數進行路由

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩高清不卡一区二区三区 | 91在线视频播放 | 北条麻妃在线一区二区 | 日韩精品极品视频在线观看免费 | 久久精品成人一区二区三区蜜臀 | а√天堂资源中文最新版地址 | 超碰成人免费 | 免费成人在线网站 | 国产精品久久久久久 | 欧美日日| 欧美专区在线 | 午夜影院免费 | 午夜视频在线 | 国内精品久久久久久久影视红豆 | 精品久久久久国产 | 蜜桃av噜噜一区二区三区小说 | 国产电影一区二区三区 | 欧美欧美欧美 | 青青草原综合久久大伊人精品 | 精品美女久久久 | 成人区精品一区二区毛片不卡 | 欧美日韩国产一区二区三区不卡 | 偷偷干夜夜拍 | 成av在线 | 欧美a级成人淫片免费看 | 欧美色综合天天久久综合精品 | 欧美精品一区二区在线观看 | 国产一区二区三区在线 | 成人中文字幕在线观看 | 日本视频免费高清一本18 | 国产精品久久久久久久久久新婚 | 色婷婷一区二区三区 | 色综合久久88色综合天天6 | 久久久久久免费精品 | 久久a国产 | 亚洲 中文 欧美 日韩 在线观看 | 国产亚洲欧美一区二区 | 午夜影院a | 久久精品亚洲精品 | 欧美午夜精品久久久久久浪潮 | 国产精品2区 |