使用 JAX-RS 简化 REST 应用开发
2009-11-05 00:00:00 来源:WEB开发网参数标注
JAX-RS 中涉及 Resource 方法参数的标注包括:@PathParam、@MatrixParam、@QueryParam、@FormParam、@HeaderParam、 @CookieParam、@DefaultValue 和 @Encoded。这其中最常用的是 @PathParam,它用于将 @Path 中的模板变量映射到方法参数,模板变量支持使用正则表达式,变量名与正则表达式之间用分号分隔。例如对 清单 1 中所示的 BookkeepingService 类,如果使用 Get 方法请求资源”/person/jeffyin”,则 readPersonByName 方法将被调用,方法参数 name 被赋值为”jeffyin”;而如果使用 Get 方法请求资源”/person/123”,则 readPerson 方法将被调用,方法参数 id 被赋值为 123。要了解如何使用其它的参数标注 , 请参考 JAX-RS API。
JAX-RS 规定 Resource 方法中只允许有一个参数没有打上任何的参数标注,该参数称为实体参数,用于映射请求体。例如 清单 1中所示的 BookkeepingService 类的 createPerson 方法和 updatePerson 方法的参数 person。
参数与返回值类型
Resource 方法合法的参数类型包括:
原生类型
构造函数接收单个字符串参数或者包含接收单个字符串参数的静态方法 valueOf 的任意类型
List<T>,Set<T>,SortedSet<T>(T 为以上的 2 种类型)
用于映射请求体的实体参数
Resource 方法合法的返回值类型包括:
void:状态码 204 和空响应体
Response:Response 的 status 属性指定了状态码,entity 属性映射为响应体
GenericEntity:GenericEntity 的 entity 属性映射为响应体,entity 属性为空则状态码为 204,非空则状态码为 200
其它类型:返回的对象实例映射为响应体,实例为空则状态码为 204,非空则状态码为 200
更多精彩
赞助商链接