11

我正在研究 Jersey 和 RESTEasy。XML 和 JSON 的媒体类型协商工作正常,我能够使用和生成它们。但是,我被要求为新的内容类型生成和使用响应。例如,BSON 或自定义的内容类型。我在网上搜索,但找不到太多信息。无论如何,我仍然可以将 JAX-RS 中的 @Produces 和 @Consumes 注释用于新的内容类型?

提前致谢。

4

1 回答 1

19

是的,您可以使用@Produces@Consumes自定义媒体类型。为了在编组和解组内容时使用自定义媒体类型,您需要创建MessageBodyWriterMessageBodyReader实现来处理媒体类型。

以下是如何实现自定义媒体类型:

  1. @Consumes({"application/mycustomtype})根据需要使用和注释您的资源方法@Produces({"application/mycustomtype})

  2. 实现自定义MessageBodyReaderMessageBodyWriter实现以支持您的自定义媒体类型。

  3. MessageBodyReader@Providerand注释你的@Consumes({"application/mycustomtype})

  4. MessageBodyWriter@Providerand注释你的
    @Produces({"application/mycustomtype})

于 2013-07-05T04:30:21.243 回答