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


为了响应应用的请求,服务端需要提供一些资源,称之为资源类(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属性或方法参数



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值