【问题标题】:Is it possible to have same URI with different headers in REST?是否可以在 REST 中具有具有不同标头的相同 URI?
【发布时间】:2017-09-25 10:37:00
【问题描述】:

我试图注册两个具有相同 URI 和不同标头的资源。说吧,

-X www.xyz.com/customerid/123/ -H 'Accept: application/json profile="customer.1.json"' -D 'abc.json'

-X www.xyz.com/customerid/123/ -H 'Accept: application/json profile="customer.2.json"' -D 'abcd.json'

当我尝试这样做时,我得到了这个错误

org.glassfish.jersey.server.model.ModelValidationException:应用程序资源模型的验证在应用程序初始化期间失败。
[[致命] 资源模型具有用于 HTTP 方法 POST 的不明确(子)资源方法,并且输入 mime 类型由 Java 方法 public javax.ws.rs.core.Response 处的“@Consumes”和“@Produces”注释定义

有没有其他方法可以解决这个问题?

【问题讨论】:

  • 显示您的代码。

标签: java json rest


【解决方案1】:

关于标头,请求匹配过程仅考虑Accept 和Content-Type。其他标头(包括任意标头)无关紧要。


JAX-RS 运行时使用以下内容将请求与资源方法匹配:

更多详情,请查看JSR 370。


根据您的需要,您可以定义一个自定义媒体类型。查看 GitHub API v3 documentation 以获得一些见解。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-21
    • 2010-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多