gpt4 book ai didi

spring - 混合 html 和 json 模板时如何在 thymeleaf 中正确设置内容类型

转载 作者:行者123 更新时间:2023-12-05 03:59:34 25 4
gpt4 key购买 nike

我正在使用 spring boot 和 thymeleaf 开发单页应用程序。我有两种模板;一个将 SPA 脚手架页面生成为 html,多个生成 json 响应。

当我希望它们是 application/json 时,json 响应以 text/html 的内容类型发回。

如何正确设置内容类型?我需要两个 thymeleaf View 解析器吗?我在 @Controller 上尝试了 @GetMapping(value = Routes.EVENTS, produces = MediaType.APPLICATION_JSON_VALUE) 但没有效果。

最佳答案

我确信有几种方法可以解决这个问题。这是为我工作的那个。

我通过查看 Spring Boot documentation on custom view resolvers 弄明白了.这导致我查看 ThymeleafAutoConfiguration class .然后在 Spring 框架中进行一些明智的调试有助于填补空白。

@Bean
public ThymeleafViewResolver viewResolver(SpringTemplateEngine templateEngine){
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
viewResolver.setContentType("application/json");
viewResolver.setCharacterEncoding(StandardCharsets.UTF_8.name());
viewResolver.setOrder(1);
viewResolver.setViewNames(new String[] {"*.json"});
viewResolver.setTemplateEngine(templateEngine);
return viewResolver;
}

关于spring - 混合 html 和 json 模板时如何在 thymeleaf 中正确设置内容类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57073434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com