@@ -11,20 +11,17 @@ import {{ $.Common.Packages.Client }}.{{ $service.Type }}Api;
1111import {{ $ .Common.Packages.Client }}. {{ $service .Type }}ConsumerApi;
1212{{- end }}
1313
14- import com.fasterxml.jackson.annotation.JsonInclude ;
15- import com.fasterxml.jackson.databind.DeserializationFeature ;
16- import com.fasterxml.jackson.databind.MapperFeature ;
17- import com.fasterxml.jackson.databind.ObjectMapper ;
18- import com.fasterxml.jackson.databind.PropertyNamingStrategies ;
19- import com.fasterxml.jackson.databind.SerializationFeature ;
20- import com.fasterxml.jackson.databind.json.JsonMapper ;
21- import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule ;
14+ import tools.jackson.databind.MapperFeature ;
15+ import tools.jackson.databind.PropertyNamingStrategies ;
16+ import tools.jackson.databind.SerializationFeature ;
17+ import tools.jackson.databind.json.JsonMapper ;
18+ import tools.jackson.databind.DeserializationFeature ;
2219
2320import feign.Feign ;
2421import feign.form.FormEncoder ;
2522import feign.Logger ;
26- import feign.jackson.JacksonDecoder ;
27- import feign.jackson.JacksonEncoder ;
23+ import feign.jackson3.Jackson3Decoder ;
24+ import feign.jackson3.Jackson3Encoder ;
2825import feign.micrometer.MicrometerCapability ;
2926import feign.okhttp.OkHttpClient ;
3027import feign.reactive.ReactorFeign ;
@@ -163,27 +160,26 @@ public class {{ .Metadata.Name }}Factory {
163160 // objectMapper
164161 JsonMapper.Builder objectMapperBuilder = JsonMapper.builder ()
165162 .enable (MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS )
166- .enable (DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_USING_DEFAULT_VALUE )
167- .disable (DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES )
163+ .configure (DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES , false) // do not fail on new fields
168164 .propertyNamingStrategy (PropertyNamingStrategies.LOWER_CAMEL_CASE )
169165 .configure (SerializationFeature.FAIL_ON_EMPTY_BEANS , false)
170166 {{- if .Common.GeneratorProperties.jacksonIncludeNonNull }}
171167 // condition: jsonIncludeNonNull
172168 // .serializationInclusion (JsonInclude.Include.NON_NULL )
173169 {{- end }}
174- .addModule (new JavaTimeModule()) ;
175- config.extensions ().forEach (extension -> extension.customizeObjectMapper (objectMapperBuilder));
176- ObjectMapper objectMapper = objectMapperBuilder.build ();
170+ ;
171+ // config.extensions ().forEach (extension -> extension.customizeObjectMapper (objectMapperBuilder));
172+ JsonMapper objectMapper = objectMapperBuilder.build ();
177173
178174 // builder
179175 return Feign.builder ()
180176 .client (new OkHttpClient(clientBuilder.build ()))
181177 {{- if .Common.HasParametersWithType " form" }}
182- //.encoder (new FormEncoder(new JacksonEncoder (objectMapper)))
178+ //.encoder (new FormEncoder(new Jackson3Encoder (objectMapper)))
183179 {{- else }}
184- .encoder (new JacksonEncoder (objectMapper))
180+ .encoder (new Jackson3Encoder (objectMapper))
185181 {{- end }}
186- .decoder (new JacksonDecoder (objectMapper))
182+ .decoder (new Jackson3Decoder (objectMapper))
187183 .logger (new Slf4jLogger())
188184 .logLevel (Logger.Level.valueOf (config.logLevel ().toUpperCase ()))
189185 .addCapability (new MicrometerCapability(config.meterRegistry ()))
0 commit comments