有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JavaDropWizard:从同一个类生成html和json

有没有办法从客户端控制输出格式

我有一节课

@Produces(MediaType.TEXT_HTML)

我希望它在客户端请求时生成json

我可以逐字复制类,只替换@Path@生成注释,但这看起来完全是浪费

我想知道客户端是否可以附加类似的内容&;content type=application/json到URL,让我的服务器用json而不是html响应


共 (1) 个答案

  1. # 1 楼答案

    您需要将资源注释为同时提供HTML和JSON:

    @Produces({MediaType.TEXT_HTML, MediaType.APPLICATION_JSON})
    

    然后确保注册了MessageBodyWriter实现来处理方法的返回类型。Dropwizard的JacksonMessageBodyProvider应该处理JSON;如果您使用的是Dropwizard视图,ViewMessageBodyWriter应该处理其余部分。Jersey将与客户机进行内容协商,前提是您的客户机在请求的Accept头中有application/json