gpt4 book ai didi

java - Spring RestController 产生 charset=UTF-8

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:22:36 27 4
gpt4 key购买 nike

自从更新到最新版本的 Spring-Boot (1.4.1) 后,我注意到在我的 RestControllers 中,即使我明确地将生成的媒体类型设置为“application/json”,它现在生成的是“application/json;charset=UTF-8"

Controller :

@RestController
@RequestMapping(value = "/api/1/accounts", consumes = "application/json", produces = "application/json")
public class AccountController {
.....

响应头

Content-Type →application/json;charset=UTF-8

现在是否有其他地方配置了覆盖 RequestMapping 设置的地方?

最佳答案

根据 OrangeDog 上面的评论,MappingJackson2HttpMessageConverter 处理字符集。如果消息中未指定任何内容(即通过 RequestMapping 生成配置),这最近已更新以添加默认字符集

这可以通过实现下面的 bean 并将 charSet 设置为 null 来覆盖:

@Bean
public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {
MappingJackson2HttpMessageConverter jsonConverter = new MappingJackson2HttpMessageConverter();
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
jsonConverter.setObjectMapper(objectMapper);
jsonConverter.setDefaultCharset(null);
return jsonConverter;
}

关于java - Spring RestController 产生 charset=UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39788503/

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