使用Spring Reactive中的application.properties在请求标头中设置Content类型



我需要将rest调用的内容类型设置为"application/json;charset=UTF-8"。我可以通过在@RequestMapping 中添加以下代码来完成

produces = "application/json;charset=UTF-8"

但我想知道这是否可以在不更改任何代码的情况下实现,只需在application.properties中添加任何属性。尝试添加以下属性,但没有成功:

server.servlet.encoding.charset=UTF-8
server.servlet.encoding.force-response=true

假设您正在使用spring-webflux,参考内容类型解析程序您可以通过添加WebFluxConfigurer来配置响应媒体类型,并且可以使用@Valueapplication.properties读取媒体类型

@Configuration
@EnableWebFlux
public class WebConfig implements WebFluxConfigurer {
@Value("${mediaType}")
private String mediaType;
public void configureContentTypeResolver(RequestedContentTypeResolverBuilder builder) {
builder.fixedResolver(MediaType.parseMediaType(mediaType));
}
}

应用程序属性

mediaType=application/json;charset=UTF-8

最新更新