zoukankan      html  css  js  c++  java
  • jersey annotations

    参照:

    http://blog.csdn.net/a19881029/article/details/43056429

    官网文档翻译版

    @Path

    用来为资源类或方法定义URI,当然除了静态URI也支持动态URI

    @Path("service")   
    
    public class MyResource {  
    
    @Path("{sub_path}")  
    
    @GET  
    
    public String getResource(@PathParam("sub_path") String resourceName) {  
    
    ......  

    如果此时客户端请求的URI为http://127.0.0.1:10000/service/sean,则sub_path的值为sean

    @PathParam用来将请求URI的一部分作为方法参数传入方法中

    对URI的动态部分,可以自定义校验正则表达式,如果请求参数校验失败,容器返回404 Not Found

    @Path("{sub_path:[A-Z]*}")  

     

    @GET

    表明被注解的方法响应HTTP GET请求,@POST@PUT@DELETE同理

    @Consumes

    定义请求的媒体类型,如果不指定,则容器默认可接受任意媒体类型,容器负责确认被调用的方法可接受HTTP请求的媒体类型,否则返回415 Unsupported Media Type

    方法级注解将覆盖类级注解

    @Produces

    定义响应媒体类型,如果不指定,则容器默认可接受任意媒体类型,容器负责确认被调用的方法可返回HTTP请求可以接受媒体类型,否则返回406 Not Acceptable

    方法级注解将覆盖类级注解

    @QueryParam

     
    public String getResource(  
            @DefaultValue("Just a test!") @QueryParam("desc") String description) {  
        ......  
    }  

    如果请求URI中包含desc参数,例如:http://127.0.0.1:10000/service/sean?desc=123456,则desc参数的值将会赋给方法的参数description,否则方法参数description的值将为@DefaultValue注解定义的默认值

    @Context

    将信息注入请求或响应相关的类,可注入的类有:Application,UriInfo,Request,HttpHeaders和SecurityContext

    @Singleton@PerRequest

    默认情况下,资源类的生命周期是per-request,也就是系统会为每个匹配资源类URI的请求创建一个实例,这样的效率很低,可以对资源类使用@Singleton注解,这样在应用范围内,只会创建资源类的一个实例

  • 相关阅读:
    揉碎HTTP编码过程,从此不乱码
    Eclipse与IDEA配置tomcat
    JavaWEB入门
    网络编程-socket
    Java
    Mysql存储过程 —— SEQUENCE的实现
    Java Servlet 2.5 设置 cookie httponly
    CountDownLatch和CyclicBarrier 区别
    ply python 图片压缩 图片裁剪 旋转
    各种正则大杂烩,正则手机,正则邮箱
  • 原文地址:https://www.cnblogs.com/hf-cherish/p/5652364.html
Copyright © 2011-2022 走看看