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