官方的JSON媒体类型是
application/json
。Jackson的RESTEasy提供程序ResteasyJackson2Provider
指定媒体类型如下:@Provider
@Consumes({"application/*+json", "text/json"})
@Produces({"application/*+json", "text/json"})
public class ResteasyJackson2Provider extends JacksonJaxbJsonProvider
…
我不明白。我知道"application/*+json"
可以匹配application/foo+json
,但是它是否也能匹配没有加号+
的application/json
呢?这是JAX-RS规范中规定的吗?除非JAX-RS媒体类型模式匹配具有对媒体类型子组件语义的理解,否则它并不符合通配符的预期工作方式。
MediaType#isCompatible
无法处理它。application/*+json
似乎是错误的,或者是RestEasy的一项供应商功能。 - dur