JBoss Resteasy 2之URL匹配
来源:互联网 发布:淘宝开店保证金怎么退 编辑:程序博客网 时间:2024/06/06 04:55
在上一篇helloworld中,简单介绍了入门,本文讲解其URL匹配,也是REST
中很重要的一环
看例子:
可以看到,还支持正则表达式。所以,容易看出:
1) “/users/999”
返回:getUserById is called, id : 999
2) /users/username/aaa”
不匹配
3) users/books/999”
返回:getUserBookByISBN is called, isbn : 999
再看例子:
则“/users/22667788 匹配
getUserById is called, id : 22667788
多个参数传入的例子:
则:
“/users/2011/06/30”
输出:
getUserHistory is called, year/month/day : 2011/6/30
中很重要的一环
看例子:
- @Path("/users")
- public class UserRestService {
- @GET
- @Path("{name}")
- public Response getUserByName(@PathParam("name") String name) {
- return Response.status(200)
- .entity("getUserByName is called, name : " + name).build();
- }
- @GET
- @Path("{id : \\d+}") //support digit only
- public Response getUserById(@PathParam("id") String id) {
- return Response.status(200).entity("getUserById is called, id : " + id).build();
- }
- @GET
- @Path("/username/{username : [a-zA-Z][a-zA-Z_0-9]}")
- public Response getUserByUserName(@PathParam("username") String username) {
- return Response.status(200)
- .entity("getUserByUserName is called, username : " + username).build();
- }
- @GET
- @Path("/books/{isbn : \\d+}")
- public Response getUserBookByISBN(@PathParam("isbn") String isbn) {
- return Response.status(200)
- .entity("getUserBookByISBN is called, isbn : " + isbn).build();
- }
@Path("/users")public class UserRestService { @GET@Path("{name}")public Response getUserByName(@PathParam("name") String name) { return Response.status(200).entity("getUserByName is called, name : " + name).build(); }@GET@Path("{id : \\d+}") //support digit onlypublic Response getUserById(@PathParam("id") String id) { return Response.status(200).entity("getUserById is called, id : " + id).build(); } @GET@Path("/username/{username : [a-zA-Z][a-zA-Z_0-9]}")public Response getUserByUserName(@PathParam("username") String username) { return Response.status(200).entity("getUserByUserName is called, username : " + username).build(); } @GET@Path("/books/{isbn : \\d+}")public Response getUserBookByISBN(@PathParam("isbn") String isbn) { return Response.status(200).entity("getUserBookByISBN is called, isbn : " + isbn).build(); }
可以看到,还支持正则表达式。所以,容易看出:
1) “/users/999”
返回:getUserById is called, id : 999
2) /users/username/aaa”
不匹配
3) users/books/999”
返回:getUserBookByISBN is called, isbn : 999
再看例子:
- @Path("/users")
- public class UserRestService {
- @GET
- @Path("{id}")
- public Response getUserById(@PathParam("id") String id) {
- return Response.status(200).entity("getUserById is called, id : " + id).build();
- }
@Path("/users")public class UserRestService { @GET@Path("{id}")public Response getUserById(@PathParam("id") String id) { return Response.status(200).entity("getUserById is called, id : " + id).build(); }
则“/users/22667788 匹配
getUserById is called, id : 22667788
多个参数传入的例子:
- @Path("/users")
- public class UserRestService {
- @GET
- @Path("{year}/{month}/{day}")
- public Response getUserHistory(
- @PathParam("year") int year,
- @PathParam("month") int month,
- @PathParam("day") int day) {
- String date = year + "/" + month + "/" + day;
- return Response.status(200)
- .entity("getUserHistory is called, year/month/day : " + date)
- .build();
- }
@Path("/users")public class UserRestService { @GET@Path("{year}/{month}/{day}")public Response getUserHistory(@PathParam("year") int year,@PathParam("month") int month, @PathParam("day") int day) { String date = year + "/" + month + "/" + day; return Response.status(200).entity("getUserHistory is called, year/month/day : " + date).build(); }
则:
“/users/2011/06/30”
输出:
getUserHistory is called, year/month/day : 2011/6/30
- JBoss Resteasy 2之URL匹配
- JBoss Resteasy初探
- JBoss Resteasy初探
- Java Web 学习笔记之十二:JBoss RestEasy处理跨域OPTIONS请求方式
- Resteasy的rest url配置
- jboss resteasy client ProxyFactory 自动化测试架构
- Jboss下运行RestEasy报错
- RESTEasy 之@Path
- RESTeasy
- Resteasy
- resteasy
- RESTEasy之返回JSON数据格式
- resteasy框架之PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy
- Bad arguments passed to org.jboss.resteasy.spi.metadata
- Jboss URL 中文乱码
- JAX-RS之resteasy跟spring整合
- RESTEasy数据自动装配之@FormParam
- RESTEasy数据自动装配之@PathParam
- 页面放大镜
- 设计模式C++实现(10)——桥接模式
- FCK
- ZOJ 1857 && POJ 2607 Fire Station【SPFA】
- Linux命令行下编辑常用的快捷键
- JBoss Resteasy 2之URL匹配
- 熟练掌握apt-cache、apt-get、dpkg、aptitude这几个关键命令
- java中thread的start()和run()的区别
- vc修改列表框LISTBOX的背景颜色及字体颜色及其使用方法
- 读C++ Primer 之队列类模板
- Linux下常见文件解压方法及命令
- JAX-RS之@matrixParam和@PathParam
- yaffs格式根文件系统制作
- JAX-RS之@QueryParam和@DefaultValue