Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否有一种方法可以在使用浏览器中的URL访问web服务时指定媒体类型[纯粹用于测试目的]_Java_Rest - Fatal编程技术网

Java 是否有一种方法可以在使用浏览器中的URL访问web服务时指定媒体类型[纯粹用于测试目的]

Java 是否有一种方法可以在使用浏览器中的URL访问web服务时指定媒体类型[纯粹用于测试目的],java,rest,Java,Rest,我想测试我的RESTWeb服务。 是否有一种方法可以在从浏览器点击URL时指定媒体类型。我知道我可以通过使用HttpClient来实现这一点,在HttpClient中我可以显式地指定MIME类型,但是我想使用我的浏览器来测试它。 假设我有三种方法可以生成XML/JSON/HTML: @GET @Produces(MediaType.TEXT_PLAIN) public String sayPlainTextHello() { return "Hello Jerse

我想测试我的RESTWeb服务。 是否有一种方法可以在从浏览器点击URL时指定媒体类型。我知道我可以通过使用HttpClient来实现这一点,在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> ";
  }
@GET
@生成(MediaType.TEXT\u PLAIN)
公共字符串sayplantextHello(){
返回“Hello Jersey”;
}
//如果请求XML,则调用此方法
@得到
@生成(MediaType.TEXT\u XML)
公共字符串sayXMLHello(){
返回“+”Hello Jersey“+”;
}
//如果请求HTML,则调用此方法
@得到
@生成(MediaType.TEXT\u HTML)
公共字符串sayHtmlHello(){
返回“+”+“Hello Jersey”+“
+“+”你好,泽西衫“+”+“+”;
}

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

浏览器扩展应该可以完成这项工作。我最喜欢的chrome扩展是


但是,像Stephane的指导一样,请考虑为API构建良好的测试平台。这项工作最好的收费工具是Wordnik的“招摇过市”。从文档中查看它:

如果资源类能够生成多个MIME媒体 键入,则选择的资源方法将对应于most 客户端声明的可接受媒体类型。更具体地说 HTTP请求的Accept标头声明最可接受的内容

因此,您的问题实际上是“如何控制GET请求中的“Accept”HTTP头?”

答案是使用像curl、wGet这样的工具,或者像postman(Chrome)或FireFox(FireFox)这样的浏览器扩展

此外: 以下是有关使用Chrome REST控制台的一些链接:


如果你的“浏览器”是curl或wget,那么这很容易做到……对于Firefox或Chrome,你可能需要一个扩展……是的,我正在使用Chrome,而扩展,你的意思是他们有专门的插件来做这件事?我会检查的。我不能使用curl/wget,这个测试是由客户完成的,他们不知道从浏览器中点击给定URL的界限之外的事情(谢天谢地,它不是Internet explorer)…Chrome扩展,例如
REST控制台
就可以了。如果您想为非技术用户提供简单的访问,您应该考虑通过您的REST服务为他们提供一个web UI。REST控制台对我来说很有用……尽管我不得不向客户做一些解释,但总比花时间为他们创建我自己的UI要好:)!!IE也有这样的插件吗?@PrakharDixit对IE不太清楚,已经有一段时间没用了。但是,对于相同的用例,有一个很好的firefox工具: