您的位置:首页 > 编程语言 > Java开发

java web服务之RESTful需要知道的annotation

2014-06-18 10:31 375 查看
为了响应应用的请求,服务端需要提供一些资源,称之为资源类(Resource class)。

对每一个资源类,可以使用以下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属性或方法参数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: