Bac*_*con 3 java spring-mvc spring-boot
自从更新到最新版本的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 {
.....
Run Code Online (Sandbox Code Playgroud)
响应标题
Content-Type ?application/json;charset=UTF-8
Run Code Online (Sandbox Code Playgroud)
现在是否在其他地方配置了覆盖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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8224 次 |
| 最近记录: |