我正在研究 Jersey 和 RESTEasy。XML 和 JSON 的媒体类型协商工作正常,我能够使用和生成它们。但是,我被要求为新的内容类型生成和使用响应。例如,BSON 或自定义的内容类型。我在网上搜索,但找不到太多信息。无论如何,我仍然可以将 JAX-RS 中的 @Produces 和 @Consumes 注释用于新的内容类型?
提前致谢。
是的,您可以使用@Produces和@Consumes自定义媒体类型。为了在编组和解组内容时使用自定义媒体类型,您需要创建MessageBodyWriter和MessageBodyReader实现来处理媒体类型。
以下是如何实现自定义媒体类型:
@Consumes({"application/mycustomtype})根据需要使用和注释您的资源方法@Produces({"application/mycustomtype})。
实现自定义MessageBodyReader和MessageBodyWriter实现以支持您的自定义媒体类型。
MessageBodyReader用@Providerand注释你的@Consumes({"application/mycustomtype})
MessageBodyWriter用@Providerand注释你的
@Produces({"application/mycustomtype})