在spring-boot-autoconfigure:2.3.0中是否有"HttpProperties&quo



我正在尝试更新我现有的代码库到Spring Boot 2.3.0。在我现有的代码库中,它是一个库,被许多其他项目使用,有一个类使用HttpProperties,这个类已在Spring Boot 2.3.0中删除。在以前的版本中没有警告或弃用。我的代码如下:

import static org.springframework.core.Ordered.HIGHEST_PRECEDENCE;
@Configuration
@EnableConfigurationProperties(MyProperties.class)
public class FilterConfiguration {
private final MyProperties properties;
private final HttpProperties.Encoding httpEncodingProperties;
@Autowired
public FilterConfiguration(MyProperties properties, HttpProperties httpProperties) {
this.properties = properties;
this.httpEncodingProperties = httpProperties.getEncoding();
}
@Bean
public OrderedCharacterEncodingFilter characterEncodingFilter() {
OrderedCharacterEncodingFilter filter = new OrderedCharacterEncodingFilter();
filter.setEncoding(httpEncodingProperties.getCharset().name());
filter.setForceEncoding(httpEncodingProperties.isForce());
filter.setOrder(HIGHEST_PRECEDENCE);
return filter;
}
}

我只是想把我的项目升级到2.3.0,而不破坏任何使用这个库的代码库,但是我被卡住了,因为我找不到HttpProperties类的替代品。关于如何将此代码段升级到Spring Boot 2.3.0的任何帮助。

一些http相关的类被移动了,参见Move spring.http。*配置属性命名空间

Encoding现在可以在org.springframework.boot.web.servlet.server.Encoding

import org.springframework.boot.web.servlet.server.Encoding;
....
Encoding encoding = new Encoding();
encoding.getCharset();
encoding.isForce();

这似乎涵盖了你的用例。

在这个问题上提到了其他变化:

spring.http.encoding.* -> server.servlet.encoding.*
spring.http.log-request-details -> spring.mvc.log-request-details (Spring MVC) or spring.codec.log-request-details (Spring WebFlux)
spring.http.converters.preferred-json-mapper -> spring.mvc.converters.preferred-json-mapper

相关内容

最新更新