Resteasy @path 具有零个或多个路径参数
我在 API 开发中使用 RESTEasy。我的网址是 http://localhost:8080/project/player/M
或 http://localhost:8080/project/player
这意味着我将 {gender} 传递为路径参数
我的问题是如何将此网址映射到 REST 方法,我使用下面的映射
@GET
@Path("player/{gender}")
@Produces("application/json")
,但如果使用它,它会映射到 http://localhost:8080/project/player/M
但不映射到 http://localhost:8080/project/player
。 我需要一个正则表达式来映射零个或多个路径参数
谢谢。
I am using RESTEasy in my API development. My url is http://localhost:8080/project/player/M
or http://localhost:8080/project/player
it means am pasing {gender} as path param.
my problem is how to mapp this url to REST method, i use below mapping
@GET
@Path("player/{gender}")
@Produces("application/json")
but if use it, it maps for http://localhost:8080/project/player/M
but not for http://localhost:8080/project/player
.
i need a regular expression to map zero or more path parameters
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
有什么原因这必须是路径参数而不是查询字符串吗?如果将其更改为使用后者,则可以使用 @DefaultValue 注释。
所以你的代码将如下所示:
Is there any reason this must be a path parameter and not a query string ? If you change it to use the latter, then you can use a @DefaultValue annotation.
So your code would then look like the following:
路径参数 (
@PathParam
) 不是可选的。如果你想绘制地图;您将需要两种方法。可以使用方法重载;
Path parameters (
@PathParam
) aren't optional. If you want to map;You will need two methods. You can use method overloading;
请参阅以下链接,其中包含通过正则表达式的可选路径参数的示例
RestEasy @Path Question with正则表达式
See the below link which has a sample of optional path parameters via regular expressions
RestEasy @Path Question with regular expression
当您想在路径中包含可选参数时,应该使用正则表达式。
因此,您的代码将如下所示:
有关详细信息,请参阅 https://docs.jboss.org/resteasy/docs/1.1.GA/userguide/html/Using__Path_and__GET___POST__etc..html
You should use regex when you want have optional parameter in path.
So your code would then look like the following:
For more information see https://docs.jboss.org/resteasy/docs/1.1.GA/userguide/html/Using__Path_and__GET___POST__etc..html