java web服务之RESTful需要知道的annotation
2014-06-18 10:31
375 查看
为了响应应用的请求,服务端需要提供一些资源,称之为资源类(Resource class)。
对每一个资源类,可以使用以下annotation来对资源类进行设置:
1、javax.ws.rs.ApplicationPath:是配置整个应用的一个路径,如果发布在一个servlet container里面的话,在web.xml的servlet-mapping覆盖
2、javax.ws.rs.Path:若果未配置将出现如下异常:The ResourceConfig instance does not contain any root resource classes,这亦是一个资源对外界的访问入口http://xxx.xx.services/gateway。
3、javax.ws.rs.consumes;定义资源类或MessageBodyReader方法所能接收的媒体类型,若未指定,container将默认可接受任何类型媒体。container负责保证唤醒的方法能够接收HTTP 请求实体主题,如果没有方法可用,按照RFC2616规定一定要响应一个HTTP“415 不支持媒体类型”。
javax.ws.rs.produces;定义资源类或MessageBodyReader方法所能产生的媒体类型,若未指定,container将默认可产生任何类型媒体。container负责保证唤醒的方法能够接收HTTP 请求实体主题,如果没有方法可用,按照RFC2616规定一定要响应一个HTTP“406不接受”。
如果是只响应单值的话是不需要显式设置的,container会根据产生的类型来响应。方法级注释覆盖一个类级别注释
4、javax.ws.rs.httpmethod:把一个注解和HTTP 方法关联起来
javax.ws.rs.get:指明注释的方法响应HTTP GET请求
javax.ws.rs.post:指明注释的方法响应HTTP POST请求
javax.ws.rs.delete:指明注释的方法响应HTTP DELETE请求
javax.ws.rs.put:指明注释的方法响应HTTP DELETE请求
javax.ws.rs.head:指明注释的方法响应HTTP HEAD请求
javax.ws.rs.option;指明注解的方法响应HTTP可选参数
5、javax.ws.rs.defaultparm:定义使用下面annotation绑定的request元数据的默认值
javax.ws.rs.cookieparam:将HTTP cookie的值绑定到资源方法参数,资源类字段,或资源类bean属性
javax.ws.rs.formparam:将HTTP 实体body中的表单元素的值绑定到资源方法参数,资源类字段,或资源类bean属性,值是通过URL解码
javax.ws.rs.headerparam:将HTTP header绑定到资源方法参数,资源类字段,或资源类bean属性
javax.ws.rs.matrixparam:将URI 参数矩阵绑定到资源方法参数,资源类字段,或资源类bean属性,值是通过URL解码
javax.ws.rs.pathparam:将URI模板参数或路径段包含模板参数绑定到资源方法参数,资源类字段,或资源类bean属性
javax.ws.rs.queryparm:将HTTP 查询参数绑定到资源方法参数,资源类字段,或资源类bean属性,值是通过URL解码
javax.ws.rs.encode;URL编码
javax.ws.rs.core.context:该注释用于注入信息到类字段,bean属性或方法参数
对每一个资源类,可以使用以下annotation来对资源类进行设置:
1、javax.ws.rs.ApplicationPath:是配置整个应用的一个路径,如果发布在一个servlet container里面的话,在web.xml的servlet-mapping覆盖
<servlet> <servlet-name>restservlet</servlet-name> <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>restservlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping>
2、javax.ws.rs.Path:若果未配置将出现如下异常:The ResourceConfig instance does not contain any root resource classes,这亦是一个资源对外界的访问入口http://xxx.xx.services/gateway。
3、javax.ws.rs.consumes;定义资源类或MessageBodyReader方法所能接收的媒体类型,若未指定,container将默认可接受任何类型媒体。container负责保证唤醒的方法能够接收HTTP 请求实体主题,如果没有方法可用,按照RFC2616规定一定要响应一个HTTP“415 不支持媒体类型”。
javax.ws.rs.produces;定义资源类或MessageBodyReader方法所能产生的媒体类型,若未指定,container将默认可产生任何类型媒体。container负责保证唤醒的方法能够接收HTTP 请求实体主题,如果没有方法可用,按照RFC2616规定一定要响应一个HTTP“406不接受”。
如果是只响应单值的话是不需要显式设置的,container会根据产生的类型来响应。方法级注释覆盖一个类级别注释
4、javax.ws.rs.httpmethod:把一个注解和HTTP 方法关联起来
javax.ws.rs.get:指明注释的方法响应HTTP GET请求
javax.ws.rs.post:指明注释的方法响应HTTP POST请求
javax.ws.rs.delete:指明注释的方法响应HTTP DELETE请求
javax.ws.rs.put:指明注释的方法响应HTTP DELETE请求
javax.ws.rs.head:指明注释的方法响应HTTP HEAD请求
javax.ws.rs.option;指明注解的方法响应HTTP可选参数
5、javax.ws.rs.defaultparm:定义使用下面annotation绑定的request元数据的默认值
javax.ws.rs.cookieparam:将HTTP cookie的值绑定到资源方法参数,资源类字段,或资源类bean属性
javax.ws.rs.formparam:将HTTP 实体body中的表单元素的值绑定到资源方法参数,资源类字段,或资源类bean属性,值是通过URL解码
javax.ws.rs.headerparam:将HTTP header绑定到资源方法参数,资源类字段,或资源类bean属性
javax.ws.rs.matrixparam:将URI 参数矩阵绑定到资源方法参数,资源类字段,或资源类bean属性,值是通过URL解码
javax.ws.rs.pathparam:将URI模板参数或路径段包含模板参数绑定到资源方法参数,资源类字段,或资源类bean属性
javax.ws.rs.queryparm:将HTTP 查询参数绑定到资源方法参数,资源类字段,或资源类bean属性,值是通过URL解码
javax.ws.rs.encode;URL编码
javax.ws.rs.core.context:该注释用于注入信息到类字段,bean属性或方法参数
相关文章推荐
- Dropwizard - 开发Java RESTful Web服务
- <转>用 Java 技术创建 RESTful Web 服务
- 如何在Java中 提供 RESTful Web 服务
- 你知道Spring Boot Actuator如何 构建 RESTful Web 服务吗?
- 【脚本语言系列】关于PythonWeb服务自动化webbrowser模块,你需要知道的事
- Dropwizard - 开发Java RESTful Web服务
- Java Web Service-CXF -基于Restful的Web服务
- RESTful Web 服务 - Java (JAX-RS)
- Java技艺:用 Java 技术创建 RESTful Web 服务/@Path@Produces@PathParam
- 关于微服务和 Java 需要知道的 5 件事
- 用 Java 技术创建 RESTful Web 服务
- 分享一个Android和java调用RESTful Web服务的利器Resting
- 用 Java 技术创建 RESTful Web 服务
- 关于微服务和 Java 需要知道的 5 件事
- 用 Java 技术创建 RESTful Web 服务(留着自己用)
- 用 Java 技术创建 RESTful Web 服务
- Dropwizard - 开发Java RESTful Web服务(转)
- 用 Java 技术创建 RESTful Web 服务--转载
- 【脚本语言系列】关于PythonWeb服务自动化Web API,你需要知道的事
- 用 Java 技术创建 RESTful Web 服务