REST API -API 响应在标头中没有一致的默认内容类型



当我使用下面的URL和CODE中的静修中的请求时。我正在为每个请求获得不同的响应(致电API而不在请求标题中指定内容类型。多次执行此操作以查看不同的结果(。我正在使用REST-EASY(Firefox插件(调用URL并获取响应

默认情况下,我想在"文本/平原"中获得响应。还有其他格式,例如java/x-java-properties,text/xml。
如果我不指定请求标题中的接受参数,我想获取文本/普通响应。现在,我有时会得到文本/平原,有时甚至是文本/X-Java-Properties或Text/XML

部署版本在我的本地系统中。我能够调用以下URL的响应:

url:http://localhost:8081/restfuljersey/rest/hello

代码:

import javax.ws.rs.GET; 
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
@Path("/hello")
public class Hello {
  @GET
  @Produces("text/plain")
  public String sayPlainTextHello() {
    return "Hello Jersey Plain";
  }
  @GET
  @Produces("text/x-java-properties")
  public String sayHtmlHelloProperties( ) {
          return "Hello Jersey Plain1111";
  }
  // This method is called if XML is request
  @GET
  @Produces("text/xml")
  public String sayXMLHello() {
    return "<?xml version="1.0"?>" + "<hello> Hello Jersey" + "</hello>";
  }
  // This method is called if HTML is request
  @GET
  @Produces("text/html")
  public String sayHtmlHello() {
    return "<html> " + "<title>" + "Hello Jersey" + "</title>"
        + "<body><h1>" + "Hello Jersey HTML" + "</h1></body>" + "</html> ";
  }
}

所有浏览器都使用HTTP请求中的Accept标头的一组默认值,除非您自己指定标头。

例如。Firefox使用Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

在这些值中,您找到了通配符标头*/*,该值允许服务器选择其返回的内容类型。浏览器使用它来覆盖所有可能的情况。

相关内容

  • 没有找到相关文章

最新更新