我需要制作一个 api,通过它我可以返回 json 或 xml 的数据格式,因为它已从客户那里请求。伙计们,我知道我是如何实现这一点的,因为当我使用 @Produces 注释时,它会修复特定格式,但我需要按照要求返回。
3 回答
温温酱
TA贡献1752条经验 获得超4个赞
您可以使用 ResponseEntity 对象指定响应内容类型,如下所示:
return ResponseEntity .ok() .contentType(MediaType.IMAGE_GIF);
慕村9548890
TA贡献1884条经验 获得超4个赞
我通常希望在这里看到两种方法,一种是 that @Produces ("application/json"),另一种是@Produces("application/xml").
@Path("/foobar")
public final class FooBar {
@Produces("application/xml")
public String xml () { ... }
@Produces("application/json")
public String json() { ... }
}
Oracle 对@Produces 注释的描述中的示例包括一个text/plain与 和text/html类似的示例。
这是一种方法,但我不想编写 2 种方法。我想用一种方法来做。
另一种合理的方法是靠近金属
@Path("/foobar")
public final class FooBar {
public Response foobar() (@Context HttpHeaders headers) { ... }
}
然后自己检查标题以决定要做什么。请参阅在 JAX-RS 中获取 HTTP 标头
添加回答
举报
0/150
提交
取消