我有这个:

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阿尔伯特让为您的提示:)

09-05 16:09