我想测试我的REST Web服务。 有没有办法在从浏览器访问URL时指定媒体类型。我知道我可以通过使用HttpClient来实现这一点,我可以在其中明确指定MIME类型,但我想使用我的浏览器进行测试。 假设我有三种方法可以生成XML / JSON / HTML:
@GET
@Produces(MediaType.TEXT_PLAIN)
public String sayPlainTextHello() {
return "Hello Jersey";
}
// This method is called if XML is request
@GET
@Produces(MediaType.TEXT_XML)
public String sayXMLHello() {
return "<?xml version=\"1.0\"?>" + "<hello> Hello Jersey" + "</hello>";
}
// This method is called if HTML is request
@GET
@Produces(MediaType.TEXT_HTML)
public String sayHtmlHello() {
return "<html> " + "<title>" + "Hello Jersey" + "</title>"
+ "<body><h1>" + "Hello Jersey" + "</body></h1>" + "</html> ";
}
我可以明确地告诉我的浏览器点击某个特定的浏览器吗?
答案 0 :(得分:0)
浏览器扩展应该完成这项工作。我最喜欢的Chrome扩展程序是postman
但是,像Stephane一样,请考虑为你的api建立一个不错的测试舞台。这项工作的最佳收费工具是Swagger by Wordnik。查看http://swagger.wordnik.com/
答案 1 :(得分:0)
来自文档:
https://jersey.java.net/documentation/latest/jaxrs-resources.html
如果资源类能够生成多个MIME媒体 类型然后选择的资源方法将对应最多 客户声明的可接受的媒体类型。更具体地说 接受HTTP请求的标头声明了最可接受的内容。
所以你的问题真的是“如何在我的GET请求中控制”接受“HTTP标头?”
答案是使用curl,wGet或浏览器扩展程序(如postman(Chrome)或Poster(FireFox))等工具。
ALSO: 以下是使用Chrome REST控制台的一些链接: