RESTful Web Service - JAX-RS Annotations
为什么80%的码农都做不了架构师?>>>
RESTful Web Service - JAX-RS Annotations - Contents:
Annotation |
Package Detail/Import statement |
import javax.ws.rs.GET; |
|
@Produces |
import javax.ws.rs.Produces; |
import javax.ws.rs.Path; |
|
@PathParam |
import javax.ws.rs.PathParam; |
@QueryParam |
import javax.ws.rs.QueryParam; |
import javax.ws.rs.POST; |
|
@Consumes |
import javax.ws.rs.Consumes; |
@FormParam |
import javax.ws.rs.FormParam; |
@PUT |
import javax.ws.rs.PUT; |
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
- 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相关推荐
- 使用JAX-RS创建RESTful Web Service
guice resteasy http://www.cnblogs.com/ydxblog/p/7891224.html http://blog.csdn.net/withiter/article/d ...
- JAX-RS 方式的 RESTful Web Service 开发
2019独角兽企业重金招聘Python工程师标准>>> Web Service 目前在风格上有两大类,一个是基于 SOAP 协议,一个是完全遵循 HTTP 协议规范的RESTful ...
- 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 首先 ...
- java 创建restful_使用Java创建RESTful Web Service
[RESTful Web Service是轻量级的service,可以通过HTTP的方式来实现对后台数据库的CRUD,在Web开发和移动开发时使用的比较广泛,非常方便.在Java世界里, JAX-RS ...
- 在GlassFish应用服务器上创建并运行你的第一个Restful Web Service【翻译】
前言 本人一直开发Android应用,目前Android就业形势恶劣,甚至会一路下滑,因此决定学习服务器开发.采用的语言是java,IDE是Intellij,在下载Intellij的同时看到官网很多优 ...
- Java RESTful Web Service实战(第2版)
Java核心技术系列 Java RESTful Web Service实战 (第2版) 韩陆 著 图书在版编目(CIP)数据 Java RESTful Web Service实战 / 韩陆著. -2版 ...
- jersey (RESTful Web Service框架)
jersey是一个RESTful Web Service框架.web service即远程函数调用,通过该特性,在互联网中跨机器调用其他服务器上的函数,就像调用本地代码一样简单又方便.原理是框架把请求 ...
- WCF实现RESTFul Web Service
共同学习了前面一些概念,终于开始正题了哈.RESTful的Web Service调用直观,返回的内容容易解析.这里先会描述一个简单的场景--Web Service提供一个方法来搜索个人信息,传入人名, ...
- Java RESTful Web Service实战
编者按: InfoQ开设栏目"品味书香",精选技术书籍的精彩章节,以及分享看完书留下的思考和收获,欢迎大家关注.本文节选自韩陆著<Java RESTful Web Servi ...
- 【转】Spring 4.x实现Restful web service
http://my.oschina.net/yuyidi/blog/352909 首先我们还是跟之前一样,创建一个maven项目,不过因为Spring Restful web service是基于Sp ...
最新文章
- 本地应用 v-on补充
- socket 大端 小端 转换 (转)《二》
- Animation.wrapMode循环模式
- 这是最好的时代,也是最坏的时代
- pycharm 无法import PIL
- PHP5.2\5.3 Xdebug 调试器配置及应用
- struts2文件下载及文件名中文问题
- 载入样式表单出错: 分析 XSLT 样式表单失败
- 网站维护不给提,问客服就说维护结束会给通知
- C语言实验——交换两个整数的值(顺序结构)
- [微软拼音小技巧] 如何用Unicode输入生僻字
- Highway Networks网络详解
- java计算器sqrt_比较完整的Java计算器
- jedispool 为redis保驾护航
- Linux系统级IO②:RIO-带缓冲区IO实现
- NYIST汉诺塔(一)(三)问题以及汉诺塔的路径实现
- 动效给程序员用什么格式_UI动效敲砖篇
- 第13集 英语的完成时态
- Android仿微信录制短视频
- UE4 Replay重播系统(游戏死亡回放) 制作及问题解决
热门文章
- EBS相关日志和参数
- Iptables 中文 man 文档
- oracle服务器结构01
- graphql java sql_GraphQL标准的Java实现graphql-java概述
- 中国土壤全磷含量空间分布数据
- 数学建模美赛E题数据获取
- 最小生成树:朴素版prim、kruskal(附例题)
- ImportError: cannot import name ‘abs‘
- org.apache.hadoop.fs.ChecksumException: Checksum error
- 云计算 码率适配限速_5G 成熟后,带宽足够且云计算力够大,会不会对 PC 的升级需求放缓?...