Jersey常用注解解释 & HTTP METHOD

网上摘录,自己保存,也分享给大家。
Jersey常用注解解释

Annotation 作用 说明
@GET 查询请求 相当于数据库的查询数据操作
@POST 插入请求 相当于数据库的插入数据操作
@PUT 更新请求 相当于数据库的更新数据操作
@DELETE 删除请求 相当于数据的删除数据操作
@Path uri路径 定义资源的访问路径,client通过这个路径访问资源。比如:@Path("user")
@Produces 指定返回MIME格式 资源按照那种数据格式返回,可取的值有:MediaType.APPLICATION_XXX。比如:@Produces(MediaType.APPLICATION_XML)。即将要返回给client端的数据标识类型(MIME)。@Produces可以作为class注释,也可以作为方法注释,方法的@Produces注释将会覆盖class的注释。
@Consumes 接受指定的MIME格式 只有符合这个参数设置的请求才能访问到这个资源。比如@Consumes("application/x-www-form-urlencoded")。即用来指定可以接受client发送过来的MIME类型,同样可以用于class或者method,也可以指定多个MIME类型,一般用于@PUT@POST 
@PathParam uri路径参数 可以获取URI中指定规则的参数。写在方法的参数中,获得请求路径参数。比如:@PathParam("username")  String userName。
@QueryParam uri路径请求参数 用于获取GET请求中的查询参数。写在方法的参数中,获得请求路径附带的参数。比如:@QueryParam("desc")  String desc
@DefaultValue 设置@QueryParam参数的默认值 如果@QueryParam没有接收到值,就使用默认值。比如:@DefaultValue("description") @QueryParam("desc") String desc
@FormParam form传递的参数 接受form传递过来的参数。比如:@FormParam("name")  String userName
@BeanParam 通过Bena的形式传递参数 接受client传递的bean类型的参数,同时这个bean可以在属性上配置@FormParam用以解决client的属性名称和bean的属性名称不一致的问题。比如:@BeanParam  User user
@Context 获得一些系统环境信息 通过@Context可以获得以下信息:UriInfo、ServletConfig、ServletContext、HttpServletRequest、HttpServletResponse和HttpHeaders等
@XmlRootElement 将bean转换为xml 如果要讲bean以xml或json的格式返回,必须要这个注解。比如:

@XmlRootElement

public class User{...}

@XmlElements
多个 @ XmlElement 注释的容器。 

在一个程序元素上不允许使用多个相同类型的注释。因此此注释用于充当多个 @XmlElements 的容器注释,比如:

 @XmlElements({ @XmlElement(...),@XmlElement(...) })
@XmlElement
将 JavaBean 属性映射到派生于属性名称的 XML 元素。
在使用 @XmlElement 注释进行注释时,JavaBean 属性被映射到 XML 模式复杂类型中的本地元素,包含的类被映射到此 XML 模式复杂类型。比如:
 public class USPrice {
     @XmlElement(name="itemprice")
     public java.math.BigDecimal price;
 }<!-- Example: Local XML Schema element -->
   <xs:complexType name="USPrice"/>
   <xs:sequence>
       <xs:element name="itemprice" type="xs:decimal" minOccurs="0"/>
   </sequence>
</xs:complexType>
HTTP Methods
GET 请求
读取/列出/检索单个或资源集合。使用 WebResource 类的 get() 方法来提交一个 HTTP GET请求到 Web 资源,String s = webResource.get(String.class); 这表示如果 WebResource 对象的 URL 是http://localhost:8000/restful/services/restresource/getUser那么一个 HTTP GET 请求将会发送到地址为 http://localhost:8000/restful/services/restresource/getUser 的资源
PUT 请求

更新现有资源或资源集合。 使用 WebResource 类的 put() 方法来提交一个 HTTP PUT 请求到 Web 资源。例如下面的代码展示了请求发送一个文本实体 foo:bar 到指定的 Web 资源:

ClientResponse response = webResource.type("text/plain").put(ClientResponse.class, "foo:bar");      

同样,你也可以在使用 put() 方法发送请求时指定查询参数,方法与使用 get() 方法时指定查询参数一样

POST 请求
新建资源.一个 POST 请求相当于一个 GET 请求和一个 PUT 请求的综合,也就意味着,你可以使用 POST 请求来发送一个实体到指定的 Web 资源并且接收另一个实体。使用 WebResource 类的 post() 方法来发送一个 HTTP POST 请求到指定的 Web 资源。
DELETE 请求
删除资源或资源集合。使用 WebResource 类的 delete() 方法来发送一个 HTTP DELETE 请求到指定的 Web 资源。

Jersey是一个开源的Java框架,用于构建RESTful Web服务。它是JAX-RS(Java API for RESTful Web Services)规范的参考实现之一。Jersey提供了一组注解,用于简化开发者构建RESTful服务的过程。 以下是Jersey框架中常用的注解: 1. @Path:用于标识资源类或方法的路径。可以在类级别和方法级别使用。例如,@Path("/users")表示该资源类或方法的路径为"/users"。 2. @GET、@POST、@PUT、@DELETE:用于指定HTTP请求方法。这些注解可以与@Path注解一起使用,用于标识资源类或方法支持的HTTP请求方法。 3. @PathParam:用于从URL路径中提取参数值。例如,@Path("/users/{id}")和@PathParam("id")可以用于提取URL路径中的"id"参数值。 4. @QueryParam:用于从查询参数中提取参数值。例如,@GET @Path("/users")和@QueryParam("name")可以用于提取查询参数中的"name"参数值。 5. @Consumes:用于指定请求的MIME媒体类型。例如,@Consumes(MediaType.APPLICATION_JSON)表示该方法接受JSON格式的请求。 6. @Produces:用于指定响应的MIME媒体类型。例如,@Produces(MediaType.APPLICATION_JSON)表示该方法返回JSON格式的响应。 7. @RequestBody:用于将请求体中的数据绑定到方法参数。例如,@POST @Path("/users")和@RequestBody User user可以用于将请求体中的JSON数据绑定到User对象。 8. @ResponseBody:用于将方法返回值作为响应体。例如,@GET @Path("/users/{id}")和@ResponseBody User getUserById(@PathParam("id") int id)可以用于将User对象作为响应返回。 这些注解可以根据具体需求灵活组合使用,以构建符合RESTful风格的Web服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值