如何调试RESTful服务?

60
我正在寻找一种简单的方法来调试RESTful服务。例如,大多数Web应用程序可以使用普通的Web浏览器进行调试。不幸的是,同样的浏览器不能让我测试HTTP PUT、DELETE甚至在某种程度上连HTTP POST都不行。
我不是要自动化测试。我希望能够通过快速检查,运行新服务,最好不必编写自己的客户端。
17个回答

0

Firefox有RESTClient插件,可以发送带有方法、参数、头等不同请求。


0

0

0

除了使用Peter Hilton回答中的工具之一,我认为使用LWP或类似工具编写测试脚本可能是您唯一的选择。您可以通过打开套接字、发送原始HTTP请求并检查返回结果来绕过使用LWP。但据我所知,这种领域缺乏测试工具——大多数人主要从网站开发者的角度看待这个问题空间,对他们来说浏览器已经足够成为一个测试平台。


0

我使用restclient,可以从Google Code获取。这是一个简单的Java Swing应用程序,支持所有HTTP方法,并允许您完全控制HTTP头、协商等。


0
我倾向于使用Jersey编写RESTful资源的单元测试,它带有一个很好的REST客户端。好处是,如果您使用JAX-RS实现RESTful资源,则Jersey客户端可以重用实体提供程序,例如JAXB/XML/JSON/Atom等 - 因此,您可以在服务器端上重用与客户端端单元测试中使用的相同对象。
例如,Apache Camel项目中的这里有一个单元测试用例查找XML负载(使用JAXB对象Endpoints)从RESTful资源。 resource(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);

0
你们应该检查一下 Firefox 的 poster 扩展,它足够简单和有用 :)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接