日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java EE 8 MVC:使用路径参数

發(fā)布時間:2023/12/3 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java EE 8 MVC:使用路径参数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在上一篇文章中,我們看到了如何在Java EE MVC中使用查詢參數(shù) 。 這篇文章繼續(xù)與一個非常相似的主題:路徑參數(shù)。

路徑參數(shù)是請求路徑的動態(tài)部分,可以使用@Path注釋指定。

例如:

@Controller @Path("path-params") public class PathParamsController {@GET@Path("/date/{year}/{month}")public String pathParamDate(@PathParam("year") int year, @PathParam("month") int month) {...} }

Paths參數(shù)在@Path批注內用大括號括起來。 在此示例中,定義了兩個路徑參數(shù):年和月。

使用@PathParam可以將路徑參數(shù)映射到方法參數(shù)。

我們可以通過發(fā)送請求到

/path-params/date/2016/01

在這種情況下,2016和1將作為年和月參數(shù)傳遞。

類型轉換

路徑參數(shù)使用與查詢參數(shù)相同的類型轉換規(guī)則( 在上一篇博客文章中進行了解釋 )。

例如,我們可以將路徑參數(shù)轉換為枚舉值,如下所示:

public enum Role {admin, reporter, accountant }@Controller @Path("path-params") public class PathParamsController {@GET@Path("/roles/{role}")public String pathParamUsers(@PathParam("role") Role role) {...} }

如果我們現(xiàn)在向發(fā)送請求

/path-params/roles/admin

字符串a(chǎn)dmin被轉換為相應的枚舉常量。

在字段和方法上使用@PathParam

像@QueryParam一樣,@PathParam的用法不限于方法參數(shù)。 也可以使用@PathParam注釋字段或設置器。

例如:

@Controller @Path("path-params") public class PathParamsController {@PathParam("category")private String category;@GET@Path("/categories/{category}")public String findByCategory() {// work with category} }

將路徑參數(shù)與模式一起使用

可以為路徑變量定義更具體的模式。 因此,可以在路徑變量的名稱之后添加正則表達式。

例如:

@Controller @Path("path-params") public class PathParamsController {@GET@Path("/users/{id : \\d+}")public String findUserById(@PathParam("id") long id) {...}@GET@Path("/users/{name : [a-zA-Z]+}")public String findUserByName(@PathParam("name") String name) {...} }

在這里,我們定義了兩種監(jiān)聽/ users / {variable}的控制器方法:

  • 僅當數(shù)字ID是請求路徑的一部分時才調用findUserById()
  • 如果path參數(shù)與正??則表達式[a-zA-Z] +相匹配,則使用findUserByName()。

因此,如果我們向發(fā)送請求

/path-params/users/123

將調用findUserById()并將ID作為ID傳遞123。

向發(fā)送請求

/path-params/users/john

調用findUserByName()并傳遞john作為名稱。

快速總結

@PathParam可用于提取使用@Path定義的路徑參數(shù)。 與@QueryParam一樣,@ PathParam可以用于方法參數(shù),實例字段和方法。

使用@Path定義路徑參數(shù)時,可以使用正則表達式來定義特定的路徑模式。

  • 您可以在GitHub上找到所有顯示示例的源代碼。

翻譯自: https://www.javacodegeeks.com/2016/02/java-ee-8-mvc-working-path-parameters.html

總結

以上是生活随笔為你收集整理的Java EE 8 MVC:使用路径参数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。