如何调试RESTful服务?

debugging http rest

54227 观看

17回复

41161 作者的声誉

我正在寻找一种简单的方法来调试RESTful服务。例如,大多数Web应用程序都可以使用普通的Web浏览器进行调试。不幸的是,相同的浏览器不允许我测试HTTP PUT,DELETE,甚至在某种程度上测试HTTP POST。

我不打算自动化测试。我想通过快速的健全性检查来运行新服务,理想情况下无需编写自己的客户端。

作者: Gili 的来源 发布者: 2008 年 10 月 3 日

回应 (17)


4

46072 作者的声誉

您可以使用fiddler的Composer来调试restful服务

更新了JD 12 sep 2013:Rest Builder现在称为Composer

作者: Gulzar Nazim 发布者: 03.10.2008 04:50

34

14892 作者的声誉

决定

使用现有的“REST客户端”工具,可以轻松检查请求和响应,例如RESTClient

作者: Peter Hilton 发布者: 03.10.2008 06:29

0

4356 作者的声誉

除了使用Peter Hilton的回复中的一个工具之外,我不得不说用LWP或类似工具编写测试脚本可能是您唯一的选择。您可以通过打开套接字,发送原始HTTP请求并检查您获得的回报绕过LWP的使用。但据我所知,这类领域缺乏测试工具 - 大部分都是从网站开发人员的角度来看这个问题空间,而对于他们来说浏览器就足够了测试平台。

作者: rjray 发布者: 03.10.2008 09:07

3

52168 作者的声誉

cURL 工作得很好。

作者: Hank Gay 发布者: 03.10.2008 09:47

0

10120 作者的声誉

我使用了Google代码提供的restclient 。它是一个简单的Java Swing应用程序,它支持所有HTTP方法,并允许您完全控制HTTP头,连接等。

作者: Ian Dickinson 发布者: 03.10.2008 10:06

0

8245 作者的声誉

我倾向于使用带有漂亮REST客户端的Jersey为RESTful资源编写单元测试。好的是,如果使用JAX-RS实现RESTful资源,那么Jersey客户端可以重用实体提供程序,例如JAXB / XML / JSON / Atom等等 - 这样您就可以在服务器端重用相同的对象了用于客户端单元测试。

例如,这是来自Apache Camel项目的单元测试用例,它从RESTful资源(使用JAXB对象端点)查找XML有效负载。资源(uri)方法在此基类中定义,该基类仅使用Jersey客户端API。

例如

clientConfig = new DefaultClientConfig();
client = Client.create(clientConfig);

resource = client.resource("http://localhost:8080");
// lets get the XML as a String
String text = resource("foo").accept("application/xml").get(String.class);
作者: James Strachan 发布者: 03.10.2008 10:37

15

38599 作者的声誉

在我的公司,我们使用各种不同的工具和方法来测试RESTful服务:

  • 我们编写cURL脚本 - 实际上是保存在文件中的单个命令。每种方法每个资源一个文件。对于PUT和POST,我们通常会有包含表示的文件与cURL脚本一起发送。例如,对于邮箱资源,我们可能有一个名为的文件mailbox_post.cmd,该文件可能包含该行curl -v -X POST -u username -H 'Content-Type:application/xml' -d @mailbox_post.xml http://service/mailbox。我们喜欢这种方法,因为我们最终构建了一组测试,这些测试可以批量运行,或者至少在测试人员之间传递,并用于回归测试。

  • 我们使用cURL和RESTClient进行临时测试

  • 默认情况下,我们将服务提供给XHTML,因此它可以浏览,并添加表单资源,因此该服务实际上可以使用浏览器进行部分或完全测试。这部分受到RESTful Web服务的某些部分的启发,其中作者表明Web服务和Web应用程序之间的界限可能不需要像通常假设的那样严格和严格。

  • 我们使用Restlet框架将函数测试编写为Groovy闭包,并使用测试运行器Groovy脚本运行测试。这很有用,因为测试可以是有状态的,相互构建,并在适当时共享变量。我们发现Restlet的API简单直观,易于编写快速HTTP请求并测试响应,在Groovy中使用时更加容易。(我希望尽快在我们的博客上分享这种技术,包括测试跑步者脚本。)

作者: Avi Flax 发布者: 03.10.2008 01:28

5

1260 作者的声誉

我运行OS X Leopard时发现有用的工具:

HTTP客户端

这是一个非常简单的GUI程序,允许您对资源进行http请求并查看响应。

作者: vamin 发布者: 05.05.2009 08:31

2

24792 作者的声誉

RESTTest for Firefox(附加组件)。IE的提琴手

作者: system PAUSE 发布者: 05.05.2009 08:45

0

1 作者的声誉

如果您想要具有相同目的的免费工具以及多部分表单数据提交的附加功能,请访问http://code.google.com/a/eclipselabs.org/p/restclient-tool/

作者: Yadu 发布者: 23.06.2010 02:45

0

8434 作者的声誉

Firefox有RESTClient插件,可以通过方法,参数,标题等发送不同的请求。

作者: Amit Patel 发布者: 12.05.2011 05:33

0

5909 作者的声誉

你们应该检查firefox的海报扩展,它简单而有用,足以使用:)

作者: nXqd 发布者: 23.10.2011 05:35

12

1181 作者的声誉

Google Chrome扩展程序Postman可能会有所帮助。

作者: Yasin Okumuş 发布者: 29.05.2013 02:31

2

480 作者的声誉

我正在使用Soap UI来测试我的REST API。

它比任何其他工具更完整:

  • 精细的调试请求和响应
  • 自动化测试
  • 所有基于GUI
  • 属性和属性转移以参数化您的测试
  • 条件测试
  • 性能测试

我不是在为SmartBear工作。在将它用于SOAP WebServices时,我已经是SoapUI的忠实粉丝了。

我的SoapUI REST项目

作者: Tony Baguette 发布者: 06.11.2013 09:33

3

41161 作者的声誉

我最终选择了POSTMAN

它支持我能想到的所有REST功能,并且UI非常出色。唯一的缺点是它需要Chrome。

作者: Gili 发布者: 06.11.2013 05:44

8

61 作者的声誉

我发现RequestBin对调试REST请求很有用。发布到唯一的URL并更新/显示请求数据。当其他工具不可用时,可以帮助解决问题。

https://requestbin.com/

作者: John Hodorowicz 发布者: 03.02.2015 08:38

0

1204 作者的声誉

因为它在这里完全缺失:https//luckymarmot.com/paw

值得一分钱......

作者: Toby 发布者: 07.01.2016 12:10
32x32