我有这个:
get ("/test", (req, resp) -> {
return repository.getAll();
}, new JsonTransformer());
我的变压器看起来像:
public class JsonTransformer implements ResponseTransformer {
ObjectMapper om = new ObjectMapper();
public JsonTransformer() {
}
@Override
public String render(Object o) throws Exception {
return om.writeValueAsString(o);
}
}
我试过在响应中使用 header 功能添加 header ,如下所示:
get ("/test", (req, resp) -> {
resp.header("Content-Type", "application/json");
return repository.getAll();
}, new JsonTransformer());
我尝试了在文档中找到的方法:
我认为这设置了接受类型
get ("/test", "application/json", (req, resp) -> {
return repository.getAll();
}, new JsonTransformer());
但是我无处获得
application/json
作为Content-Type
header 最佳答案
在研究之后,我找到了一种解决此问题的优雅方法,然后创建了一个before方法。
before((request, response) -> response.type("application/json"));
这会将响应类型添加到json。
您可以在路由后添加它,但是稍后可能会很麻烦。 thx阿尔伯特让为您的提示:)