- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有两个如下所示的端点:
@GET
@Path("/blah")
@Produces(MIME_TYPE_1)
public Thing getThing() {
....
}
@GET
@Path("/blah")
@Produces(MIME_TYPE_2)
public OtherThing getOtherThing() {
....
}
这非常适合根据客户端发送的 Accept
header 来仲裁调用哪个方法。
我遇到的问题是,如果客户端完全错过了 Accept
header ,我(出于某种原因)会调用第二个方法,并且我希望它成为第一个方法。
还有一个额外的复杂性,那就是它会自动输入到 Swagger 文档中,并且我不希望文档中出现额外的 MIME 类型,因此我不想(例如)添加 */*
为第一个方法接受的类型。
(这是使用 Dropwizard 和 Jersey 1.x,尽管我仍然有兴趣听到基于 Jersey 2.x 的解决方案,我们可能很快就会升级到该解决方案。)
最佳答案
尝试使用 @Produces
中的品质因数参数注释:
@GET
@Path("/blah")
@Produces("application/json; q=0.6")
public Thing getThing() {
....
}
@GET
@Path("/blah")
@Produces("application/xml; q=1")
public OtherThing getOtherThing() {
....
}
如果客户端未在请求中发送“Accept:” header ,Web 服务器将执行 getOtherThing()
因为它的品质因数比 getThing()
更高.
免责声明:这适用于 RestEasy,但我不能保证它适用于 Jersey。
品质因数参数是 RFC 2616 (14.1) 的一部分
您可以在 RestEasy here 中找到有关此功能的更多信息。
关于java - 根据 Accept header 仲裁 Jersey 端点 : what when no Accept header is given?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29845906/
我想使用仲裁创建一个 RawTransaction,但它需要在构造函数中使用 Credential 对象。 RawTransaction 中的 Credential 相当于什么? 最佳答案 不幸的是,
假设我有两个如下所示的端点: @GET @Path("/blah") @Produces(MIME_TYPE_1) public Thing getThing() { .... } @GET
我是一名优秀的程序员,十分优秀!