[英]Difference between RESTEasy and JAX-RS
什么是Resteasy? RESTEasy和JAX-RS有什么区别? @PathParam
和@QueryParam
什么@QueryParam
?
查询参数从请求URI查询参数中提取,并使用方法参数参数中的javax.ws.rs.QueryParam批注指定。
例:
@Path("smooth")
@GET
public Response smooth(
@DefaultValue("2") @QueryParam("step") int step,
@QueryParam("minm") boolean hasMin,
@QueryParam("test") String test
) { ... }
URL: http://domain:port/context/XXX/smooth?step=1&minm=true&test=value
URI 路径参数从请求URI中提取,参数名称对应于@Path类级别注释中指定的URI路径模板变量名称。 使用方法参数参数中的javax.ws.rs.PathParam批注指定URI参数
例:
@Path("/{userName}")
public class MyResourceBean {
...
@GET
public String printUserName(@PathParam("userName") String userId) {
...
}
}
URL: http://domain:port/context/XXX/naveen
这里,naveen将其作为userName(Path参数)
JAX-RS是一组没有真正实现的接口和类,属于javax.ws.rs.*
packages(它们是Oracle SE 6的一部分,由Oracle提供)。
RESTEasy以及例如Jersey或Apache CXF是JAX-RS类的开源实现。
在编译期间,您只需要JAX-RS。 在运行时,您只需要其中一个实现。
另请注意,JAX-RS仅是服务器端规范,RESTEasy已将其扩展为通过RESTEasy JAX-RS客户端框架将JAX-RS引入客户端。
关于param的信息, @ PathParam和@QueryParam有什么区别这里有关于params的一些重点, 何时使用@QueryParam vs @PathParam - Gareth的答案
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.