为什么80%的码农都做不了架构师?>>>   

RESTful Web Service - JAX-RS Annotations - Contents:

Annotation

Package Detail/Import statement

@GET

import javax.ws.rs.GET;

@Produces

import javax.ws.rs.Produces;

@Path

import javax.ws.rs.Path;

@PathParam

import javax.ws.rs.PathParam;

@QueryParam

import javax.ws.rs.QueryParam;

@POST

import javax.ws.rs.POST;

@Consumes

import javax.ws.rs.Consumes;

@FormParam

import javax.ws.rs.FormParam;

@PUT

import javax.ws.rs.PUT;

@DELETE

import javax.ws.rs.DELETE;

REST follows one-to-one mapping between create, read, update, and delete (CRUD) operations and HTTP methods.

· To create a resource on the server, use POST.

· To retrieve a resource, use GET.

· To change the state of a resource or to update it, use PUT.

· To remove or delete a resource, use DELETE.

@GET

Annotate your Get request methods with @GET.

@GETpublic String getHTML() {   ... }

@Produces

@Produces annotation specifies the type of output this method (or web service) will produce.

@GET
@Produces("application/xml")
public Contact getXML() {   ... } @GET@Produces("application/json")
public Contact getJSON() {   ... }

@Path

@Path annotation specify the URL path on which this method will be invoked.

@GET
@Produces("application/xml")
@Path("xml/{firstName}")
public Contact getXML() {   ... }

@PathParam

We can bind REST-style URL parameters to method arguments using @PathParam annotation as shown below.

@GET
@Produces("application/xml")
@Path("xml/{firstName}")
public Contact getXML(@PathParam("firstName") String firstName)
{   Contact contact = contactService.findByFirstName(firstName); return contact;
} @GET
@Produces("application/json")
@Path("json/{firstName}")
public Contact getJSON(@PathParam("firstName") String firstName)
{   Contact contact = contactService.findByFirstName(firstName);return contact;
}

@QueryParam

Request parameters in query string can be accessed using @QueryParam annotation as shown below.

@GET@Produces("application/json")
@Path("json/companyList")
public CompanyList getJSON(@QueryParam("start") int start, @QueryParam("limit") int limit)
{   CompanyList list = new CompanyList(companyService.listCompanies(start, limit));return list;
}

@POST

Annotate POST request methods with @POST.

@POST
@Consumes("application/json")
@Produces("application/json")
public RestResponse<Contact> create(Contact contact) { ... }

@Consumes

The @Consumes annotation is used to specify the MIME media types a REST resource can consume.

@PUT
@Consumes("application/json")
@Produces("application/json")
@Path("{contactId}")
public RestResponse<Contact> update(Contact contact) { ... }

@FormParam

The REST resources will usually consume XML/JSON for the complete Entity Bean. Sometimes, you may want to read parameters sent in POST requests directly and you can do that using @FormParam annotation. GET Request query parameters can be accessed using @QueryParam annotation.

@POST
public String save(@FormParam("firstName") String firstName,@FormParam("lastName") String lastName)
{...
}

@PUT

Annotate PUT request methods with @PUT.

@PUT
@Consumes("application/json")
@Produces("application/json")
@Path("{contactId}")
public RestResponse<Contact> update(Contact contact)
{
...
}

@DELETE

Annotate DELETE request methods with @DELETE.

@DELETE
@Produces("application/json")
@Path("{contactId}")
public RestResponse<Contact> delete(@PathParam("contactId") int contactId)
{...
}

References

  1. Jersey JAX-RS Annotations: https://wikis.oracle.com/display/Jersey/Overview+of+JAX-RS+1.0+Features

参考地址: http://www.techferry.com/articles/RESTful-web-services-JAX-RS-annotations.html

转载于:https://my.oschina.net/boonya/blog/135075

RESTful Web Service - JAX-RS Annotations相关推荐

  1. 使用JAX-RS创建RESTful Web Service

    guice resteasy http://www.cnblogs.com/ydxblog/p/7891224.html http://blog.csdn.net/withiter/article/d ...

  2. JAX-RS 方式的 RESTful Web Service 开发

    2019独角兽企业重金招聘Python工程师标准>>> Web Service 目前在风格上有两大类,一个是基于 SOAP 协议,一个是完全遵循 HTTP 协议规范的RESTful  ...

  3. Apache CXF实现Web Service(3)——Tomcat容器和不借助Spring的普通Servlet实现JAX-RS(RESTful) web service...

    起步 参照这一系列的另外一篇文章: Apache CXF实现Web Service(2)--不借助重量级Web容器和Spring实现一个纯的JAX-RS(RESTful) web service 首先 ...

  4. java 创建restful_使用Java创建RESTful Web Service

    [RESTful Web Service是轻量级的service,可以通过HTTP的方式来实现对后台数据库的CRUD,在Web开发和移动开发时使用的比较广泛,非常方便.在Java世界里, JAX-RS ...

  5. 在GlassFish应用服务器上创建并运行你的第一个Restful Web Service【翻译】

    前言 本人一直开发Android应用,目前Android就业形势恶劣,甚至会一路下滑,因此决定学习服务器开发.采用的语言是java,IDE是Intellij,在下载Intellij的同时看到官网很多优 ...

  6. Java RESTful Web Service实战(第2版)

    Java核心技术系列 Java RESTful Web Service实战 (第2版) 韩陆 著 图书在版编目(CIP)数据 Java RESTful Web Service实战 / 韩陆著. -2版 ...

  7. jersey (RESTful Web Service框架)

    jersey是一个RESTful Web Service框架.web service即远程函数调用,通过该特性,在互联网中跨机器调用其他服务器上的函数,就像调用本地代码一样简单又方便.原理是框架把请求 ...

  8. WCF实现RESTFul Web Service

    共同学习了前面一些概念,终于开始正题了哈.RESTful的Web Service调用直观,返回的内容容易解析.这里先会描述一个简单的场景--Web Service提供一个方法来搜索个人信息,传入人名, ...

  9. Java RESTful Web Service实战

    编者按: InfoQ开设栏目"品味书香",精选技术书籍的精彩章节,以及分享看完书留下的思考和收获,欢迎大家关注.本文节选自韩陆著<Java RESTful Web Servi ...

  10. 【转】Spring 4.x实现Restful web service

    http://my.oschina.net/yuyidi/blog/352909 首先我们还是跟之前一样,创建一个maven项目,不过因为Spring Restful web service是基于Sp ...

最新文章

  1. 本地应用 v-on补充
  2. socket 大端 小端 转换 (转)《二》
  3. Animation.wrapMode循环模式
  4. 这是最好的时代,也是最坏的时代
  5. pycharm 无法import PIL
  6. PHP5.2\5.3 Xdebug 调试器配置及应用
  7. struts2文件下载及文件名中文问题
  8. 载入样式表单出错: 分析 XSLT 样式表单失败
  9. 网站维护不给提,问客服就说维护结束会给通知
  10. C语言实验——交换两个整数的值(顺序结构)
  11. [微软拼音小技巧] 如何用Unicode输入生僻字
  12. Highway Networks网络详解
  13. java计算器sqrt_比较完整的Java计算器
  14. jedispool 为redis保驾护航
  15. Linux系统级IO②:RIO-带缓冲区IO实现
  16. NYIST汉诺塔(一)(三)问题以及汉诺塔的路径实现
  17. 动效给程序员用什么格式_UI动效敲砖篇
  18. 第13集 英语的完成时态
  19. Android仿微信录制短视频
  20. UE4 Replay重播系统(游戏死亡回放) 制作及问题解决

热门文章

  1. EBS相关日志和参数
  2. Iptables 中文 man 文档
  3. oracle服务器结构01
  4. graphql java sql_GraphQL标准的Java实现graphql-java概述
  5. 中国土壤全磷含量空间分布数据
  6. 数学建模美赛E题数据获取
  7. 最小生成树:朴素版prim、kruskal(附例题)
  8. ImportError: cannot import name ‘abs‘
  9. org.apache.hadoop.fs.ChecksumException: Checksum error
  10. 云计算 码率适配限速_5G 成熟后,带宽足够且云计算力够大,会不会对 PC 的升级需求放缓?...