我有以下api:
@ApiOperation(value = "Search product by text")
@PostMapping("/get/search")
public ResponseEntity<List<ShopProductDTO>> get(@RequestBody SearchProductRequestDTO search) {
//searching product here using search.getSearchText() value
}
我要发送的邮递员:
{"searchText":"Утюг"}
但是我在日志中收到/看到的内容:
SearchProductRequestDTO{searchText='РЈС‚СРі'}
启用DEBUG后,我看到Http11InputBuffer
日志在正文中:
{"searchText":"ГђВЈГ‘<U+0082>Г‘<U+008E>ГђВі"}
我做了什么(没有一个帮助):
application.properties
中添加了以下属性spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
spring.messages.basename=messages
spring.messages.encoding=UTF-8
CharacterEncodingFilter
@Bean
@Order(Ordered.HIGHEST_PRECEDENCE)
public CharacterEncodingFilter charsetFilter() {
CharacterEncodingFilter filter = new CharacterEncodingFilter();
filter.setEncoding("UTF-8");
filter.setForceEncoding(true);
return filter;
}
已执行jar
参数的-Dfile.encoding=UTF-8
文件
邮递员中包含以下标题
accept-charset:utf-8
content-type:application/json;charset=utf-8
我还应该做什么?还是我错过了什么?
尝试将您的代码更改为此:
如果问题是记录