有没有办法在使用浏览器中的URL访问Web服务时指定媒体类型[纯粹用于测试目的]

时间:2014-01-09 07:16:20

标签: java rest

我想测试我的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> ";
  }

我可以明确地告诉我的浏览器点击某个特定的浏览器吗?

2 个答案:

答案 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控制台的一些链接: