簡體   English   中英

spring-boot-autoconfigure:2.3.0 中是否有 `HttpProperties` 的替代品?

[英]Is there a substitute for `HttpProperties` in spring-boot-autoconfigure:2.3.0?

我正在嘗試將我現有的代碼庫更新為 Spring Boot 2.3.0。 在我現有的代碼庫中,它是一個庫並被許多其他項目使用,有一個使用 HttpProperties 的HttpProperties ,並且此 class 已在 Z38008DD81C2F4D7985ECF6E0CE0CE08AF1D1Z 啟動2中刪除。 在以前的版本中沒有警告或棄用。 我的代碼如下。

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,但我被卡住了,因為我找不到 class HttpProperties的替代品。 有關如何將此代碼段升級到 Spring Boot 2.3.0 的任何幫助。

移動了一些與 http 相關的類,請參閱移動 spring.http.* 配置屬性命名空間

編碼現在可用作 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM