|
18 | 18 |
|
19 | 19 | import java.util.stream.Collectors;
|
20 | 20 |
|
| 21 | +import org.springframework.aot.hint.RuntimeHints; |
| 22 | +import org.springframework.aot.hint.RuntimeHintsRegistrar; |
21 | 23 | import org.springframework.beans.factory.ObjectProvider;
|
22 | 24 | import org.springframework.boot.autoconfigure.AutoConfiguration;
|
23 | 25 | import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
|
27 | 29 | import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type;
|
28 | 30 | import org.springframework.boot.autoconfigure.condition.NoneNestedConditions;
|
29 | 31 | import org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration;
|
| 32 | +import org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration.HttpMessageConvertersAutoConfigurationRuntimeHints; |
30 | 33 | import org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration.NotReactiveWebApplicationCondition;
|
31 | 34 | import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration;
|
32 | 35 | import org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration;
|
| 36 | +import org.springframework.boot.context.properties.ConfigurationPropertiesReflectionHintsProcessor; |
33 | 37 | import org.springframework.boot.context.properties.bind.Binder;
|
34 | 38 | import org.springframework.boot.web.servlet.server.Encoding;
|
35 | 39 | import org.springframework.context.annotation.Bean;
|
36 | 40 | import org.springframework.context.annotation.Conditional;
|
37 | 41 | import org.springframework.context.annotation.Configuration;
|
38 | 42 | import org.springframework.context.annotation.Import;
|
| 43 | +import org.springframework.context.annotation.ImportRuntimeHints; |
39 | 44 | import org.springframework.core.env.Environment;
|
40 | 45 | import org.springframework.http.converter.HttpMessageConverter;
|
41 | 46 | import org.springframework.http.converter.StringHttpMessageConverter;
|
|
60 | 65 | @Conditional(NotReactiveWebApplicationCondition.class)
|
61 | 66 | @Import({ JacksonHttpMessageConvertersConfiguration.class, GsonHttpMessageConvertersConfiguration.class,
|
62 | 67 | JsonbHttpMessageConvertersConfiguration.class })
|
| 68 | +@ImportRuntimeHints(HttpMessageConvertersAutoConfigurationRuntimeHints.class) |
63 | 69 | public class HttpMessageConvertersAutoConfiguration {
|
64 | 70 |
|
65 | 71 | static final String PREFERRED_MAPPER_PROPERTY = "spring.mvc.converters.preferred-json-mapper";
|
@@ -98,4 +104,14 @@ private static class ReactiveWebApplication {
|
98 | 104 |
|
99 | 105 | }
|
100 | 106 |
|
| 107 | + static class HttpMessageConvertersAutoConfigurationRuntimeHints implements RuntimeHintsRegistrar { |
| 108 | + |
| 109 | + @Override |
| 110 | + public void registerHints(RuntimeHints hints, ClassLoader classLoader) { |
| 111 | + ConfigurationPropertiesReflectionHintsProcessor.processConfigurationProperties(Encoding.class, |
| 112 | + hints.reflection()); |
| 113 | + } |
| 114 | + |
| 115 | + } |
| 116 | + |
101 | 117 | }
|
0 commit comments