加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Spring RestController生成charset = UTF-8

发布时间:2020-12-15 04:36:05 所属栏目:Java 来源:网络整理
导读:自从更新到最新版本的 Spring-Boot(1.4.1)后,我注意到在我的RestControllers中,即使我明确地将生成的媒体类型设置为“application / json”,它现在正在生成“application / json; charset = UTF-8” 控制器: @RestController@RequestMapping(value = "/api
自从更新到最新版本的 Spring-Boot(1.4.1)后,我注意到在我的RestControllers中,即使我明确地将生成的媒体类型设置为“application / json”,它现在正在生成“application / json; charset = UTF-8”

控制器:

@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生成配置),则最近已更新以添加默认charSet

这可以通过实现下面的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;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读