Java RESTful Web Service实战(第2版) 1.8 REST调试工具

简介:

1.8 REST调试工具

在上节中,我们不但领略了REST请求处理流程,还对IDE中设置断点、观察服务器端运行时变量有了了解。本节将讲述如何在客户端对REST服务进行调试。为何需要在客户端调试REST服务呢?因为在REST开发过程中,需要对请求资源地址、资源所支持的数据媒体类型和返回值类型等进行调试和测试。因此,掌握客户端的调试工具是开发优秀的REST服务的前提。下面将介绍这一领域常用的REST请求工具,以使读者更进一步地熟悉REST开发和调试。

1.8.1 命令行调试工具

cURL(http://curl.haxx.se)是非常易用、强大的基于URL标准(RFC 3986)的命令行工具,通过命令行即可完成多种协议(比如HTTP)的请求,并可以将请求的响应信息输出在终端/控制台上,因此对于调试和测试REST请求非常方便。

HTTPie(http://httpie.org)是和cURL非常类似的命令行工具,相比cURL有更良好的用户体验。

命令行工具的优点是简单方便,缺点是没有图形化界面。下面将介绍几款基于浏览器的扩展插件作为REST客户端调试工具的使用情况。

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

cURL功能强大、易于在自动化脚本中使用,但cURL的每个请求都要通过码字来完成、没有图形界面的特点并不适于所有读者。下面将介绍几种基于浏览器的图形化调试插件,以方便读者在开发和测试REST服务时选择使用。基于Chrome浏览器的REST插件有很多,本节将介绍其中的3种。

1. Simple REST Client插件

Simple REST Client插件是基于Chrome浏览器的扩展,安装该插件后Chrome窗口的右上方会出现该插件的图标,以方便使用。该项目的地址是https://github.com/jeremys/Simple-Rest-Client-Chrome-Extension,插件的下载地址是http://chrome.google.com/extensions/detail/fhjcajmcbmldlhcimfajhfbgofnpcjmb()。Simple REST Client插件的界面如图1-2所示。

 

图1-2 Simple REST Client插件示意图

Simple REST Client插件的特点是简单易用,其界面分为请求信息录入和响应信息展示上下两部分。录入部分包括URL、HTTP请求方法和请求头3部分,见图1-2中上方的数字标识1~3。其中,HTTP请求方法支持HTTP的标准方法GET、POST、PUT、DELETE、HEAD和OPTIONS,Headers部分需要完全手工输入。响应信息部分包括响应状态、响应头和响应实体3部分。其中,Headers部分展示HTTP请求交互的响应头信息,Data中展示的是响应实体信息,语法高亮显示,见图1-2中下方的数字标识4~6。Simple REST Client插件总体上说是麻雀虽小,五脏俱全,但功能相比后面要讲的插件不够强大。

2. Advance REST Client插件

Advance REST Client可以看作是Simple REST Client的增强版。该项目的地址是https://code.google.com/p/chrome-rest-client,插件的下载地址是https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo。界面如图1-3所示。

 

图1-3 Advance REST Client插件示意图

Advance REST Client提供更为丰富的功能,除了Simple REST Client插件具备的输入和输出(见图1-3中的数字标识),Advance REST Client还支持带参数的请求和提交表单等更完整的请求功能。数据格式上,支持原生的格式(Raw)、XMl格式的响应(Response)信息。Advance REST Client支持对请求地址的保存和对最近使用地址的记忆,如果调试中需要多次测试同一个资源地址,可以将其保存下来为以后使用;而多个这样的地址也可以按照项目分别保存,方便区分使用。

3. Postman-REST Client插件

Postman-REST Client是基于Simple REST Client源代码编写的专门针对REST的插件。该项目的地址是https://github.com/a85/POSTMan-Chrome-Extension,插件的下载地址是http://www.getpostman.com。界面如图1-4所示。

 

图1-4 Postman-REST Client插件示意图

Postman-REST Client提供的功能更多,除了Advance REST Client具有的输入和输出(见图1-4的数字标识部分),还可以发起基于安全的请求。请求方法不仅包括HTTP的标准方法,还包括WebDAV标准的方法。其响应信息的展示和支持的格式也更丰富。如果读者希望深入和细致地调试REST服务,Postman-REST Client要比其他插件更合适。可以说3个插件的复杂度和功能性是递增的,使用哪一个要看读者的需求。类似的Chrome插件不胜枚举,如果有兴趣,可以通过https://chrome.google.com/webstore/category/extensions访问Chrome的网上商店,搜索更多的Chrome插件。

4. Firefox插件

相对于Chrome浏览器,Firefox的REST插件功能类似,其中常用的插件有REST-Easy和RESTClient。REST-Easy的项目地址是https://github.com/nathan-osman/REST-Easy,RESTClient的项目地址是http://restclient.net。类似的Firefox插件很多,读者如果有兴趣,可以在Firefox浏览器中录入about:addons进入Firefox的扩展,搜索更多的相关插件。

相关文章
|
6天前
|
SQL 监控 安全
Java Web应用的安全防护与攻防策略
Java Web应用的安全防护与攻防策略
|
6天前
|
前端开发 Java 关系型数据库
Java中的电子商务网站开发实战
Java中的电子商务网站开发实战
|
7天前
|
消息中间件 Java 微服务
构建可扩展的Java Web应用架构
构建可扩展的Java Web应用架构
|
11天前
|
并行计算 Java API
Java中的函数式编程实战与Lambda表达式应用
Java中的函数式编程实战与Lambda表达式应用
|
11天前
|
XML Java API
使用Java构建RESTful API的最佳实践
使用Java构建RESTful API的最佳实践
|
12天前
|
安全 Java 调度
Java并发编程:从基础到实战
【7月更文挑战第3天】在Java的世界中,并发编程是一块充满挑战与机遇的领域。本文将带领读者从理解并发编程的基本概念开始,逐步深入到Java并发工具的使用和高级技巧的应用。我们将一起探索如何在多线程环境下保证数据的一致性和程序的正确性,以及如何通过高效的并发策略来提升应用性能。准备好,让我们开启Java并发编程的旅程,掌握让应用飞一般运行的秘密。
20 1
|
13天前
|
监控 负载均衡 Java
如何设计高可用性的Java Web应用程序
如何设计高可用性的Java Web应用程序
|
5天前
|
算法 Java 开发者
Java面试题:Java内存探秘与多线程并发实战,Java内存模型及分区:理解Java堆、栈、方法区等内存区域的作用,垃圾收集机制:掌握常见的垃圾收集算法及其优缺点
Java面试题:Java内存探秘与多线程并发实战,Java内存模型及分区:理解Java堆、栈、方法区等内存区域的作用,垃圾收集机制:掌握常见的垃圾收集算法及其优缺点
8 0
|
5天前
|
安全 Java 调度
Java面试题:Java内存优化、多线程安全与并发框架实战,如何在Java应用中实现内存优化?在多线程环境下,如何保证数据的线程安全?使用Java并发工具包中的哪些工具可以帮助解决并发问题?
Java面试题:Java内存优化、多线程安全与并发框架实战,如何在Java应用中实现内存优化?在多线程环境下,如何保证数据的线程安全?使用Java并发工具包中的哪些工具可以帮助解决并发问题?
7 0
|
7天前
|
缓存 安全 Java
使用Java构建高性能的RESTful服务
使用Java构建高性能的RESTful服务