Java RESTful Web Service实战(第2版) 导读

Java核心技术系列

Java RESTful Web Service实战

(第2版)

韩陆 著

 

半年前初识韩陆的时候,我们就聊到他正在写的这本书,当得知我从2006年就参与了Apache CXF开发,他立即邀请我为他的新书写序,我也就欣然答应了。

Apache CXF作为JAXWS以及JAX-RS规范的实现框架,已经成为很多Web服务开发者必选的开发框架。作为这一框架的开发维护者之一,我的日常工作经常需要熟悉这些JSR规范,并实现JSR所定义的API,解决最终用户的使用问题。

熟悉Java的人大多都听说过JSR(Java Specification Requests)、JCP(Java Community Process),通过JSR可以就Java某一方面的应用定义一组标准的API或者服务。对于最终用户来说,他们的代码只需要调用JSR定义的标准API,不做任何修改就可以调用不同的JSR实现。这里常见的例子就是Java Servlet应用,用户开发的Web应用可以不做任何修改就部署到Tomcat、JBoss等不同的Web容器中。

JAXRS是JCP为Java RESTful Web Service定义的一套API。由于Web服务的描述模型与Java类和接口有一定的差距,JAX-RS定义了很多annotation,通过这些annotation我们可以很方便地将Java类描述成为相关的REST服务。由于RESTful Web Service通常需要部署到Web容器中,JAX-RS也定义了相关服务来发现部署到容器中的JAX-RS应用。

读过JSR规范的朋友或多或少都会有这样的体会,JSR作为规范文档,其目标是将API定义以及实现功能描述清楚、完备,其目标读者是相关API的实现人员,或者是相关API的高级使用人员。如果读者对相关的背景知识还不熟悉的话,JSR文档读起来会比较晦涩而且难以理解。加之绝大部分JSR文档都没有相关的中文翻译,对于绝大多数初学者来说,通过阅读JSR文档来学习相关的API的知识是一个艰难的过程。

如果我们想要对JAX-RS规范有一个比较快速并且全面的了解应该怎么办呢?一般来我们可以通过JSR的相关参考实现入手,我们不但可以通过运行相关的参考实现的例子快速入门,还可以通过跟踪相关的代码对实现细节有一个全面的了解。韩陆的这本新作以JAX-RS的参考实现Jersey为蓝本,由浅入深地向大家介绍了JAX-RS的由来,以及与RESTful Web服务开发的相关API,并结合实例分享了作者的实战经验。

好了,现在打开你熟悉的IDE工具,加载Jersey代码库,沿着本书的指引去探索Java RESTful Web Services开发世界吧。

 

第1章 JAX-RS2入门   1

1.1 解读REST       1

1.1.1 一种架构风格    2

1.1.2 基本实现形式    2

1.2 解读REST服务      3

1.2.1 REST式的Web服务  3

1.2.2 对比RPC风格    3

1.2.3 对比MVC风格  4

1.3 解读JAX-RS标准   5

1.3.1 JAX-RS2标准       5

1.3.2 JAX-RS2的目标  5

1.3.3 非JAX-RS2的目标      6

1.3.4 解读JAX-RS元素        7

1.4 Jersey项目概要    7

1.4.1 获得Jersey 8

1.4.2 Jersey问答 8

1.4.3 Jersey项目管理 8

1.4.4 Jersey许可 9

1.4.5 Jersey的模块     10

1.4.6 GlashFish项目    10

1.5 快速实现Java REST服务      12

1.5.1 第一个REST服务       13

1.5.2 第一个Servlet容器服务   17

1.6 快速了解Java REST服务      19

1.6.1 REST工程类型   19

1.6.2 REST应用描述   24

1.7 Java领域的其他REST实现 27

1.7.1 JAX-RS的其他实现     27

1.7.2 其他的REST实现       31

1.8 REST调试工具       33

1.8.1 命令行调试工具         33

1.8.2 基于浏览器的图形化调试插件         34

1.9 本章小结        37

第2章 REST API设计 38

2.1 统一接口        38

2.1.1 GET方法     39

2.1.2 PUT方法     41

2.1.3 DELETE方法        43

2.1.4 POST方法   44

2.1.5 WebDAV扩展方法      45

2.2 资源定位        47

2.2.1 资源地址设计    48

2.2.2 @QueryParam注解   50

2.2.3 @PathParam注解      52

2.2.4 @FormParam注解     55

2.2.5 @BeanParam注解     57

2.2.6 @CookieParam注解  58

2.2.7 @Context注解   58

2.3 传输格式        59

2.3.1 基本类型    59

2.3.2 文件类型    60

2.3.3 InputStream类型        61

2.3.4 Reader类型        62

2.3.5 XML类型    62

2.3.6 JSON类型   66

2.4 连通性   82

2.4.1 过渡型链接         82

2.4.2 结构型链接         83

2.5 处理响应        84

2.5.1 返回类型    85

2.5.2 处理异常    86

2.6 内容协商        89

2.6.1 @Produces注解          89

2.6.2 @Consumes注解       91

2.7 本章小结        92

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值