Open wlodarcp opened 4 years ago
Following error occurs during pact generation for feign when private static final fields present in DTO:
Condition failed with Exception: pactGenerator.writePactFiles("com.hltech.feecollector", "fee-collector", objectMapper, new File("build/pacts/")) | | | | | | | build\pacts | | <com.fasterxml.jackson.databind.ObjectMapper@7e911b96 _jsonFactory=com.fasterxml.jackson.databind.MappingJsonFactory@686ca28b _typeFactory=com.fasterxml.jackson.databind.type.TypeFactory@2ac05f10 _injectableValues=null _subtypeResolver=com.fasterxml.jackson.databind.jsontype.impl.StdSubtypeResolver@2ecef544 _configOverrides=com.fasterxml.jackson.databind.cfg.ConfigOverrides@6de1752 _mixIns=com.fasterxml.jackson.databind.introspect.SimpleMixInResolver@78c74eb3 _serializationConfig=com.fasterxml.jackson.databind.SerializationConfig@1e038a _serializerProvider=com.fasterxml.jackson.databind.ser.DefaultSerializerProvider$Impl@5923a218 _serializerFactory=com.fasterxml.jackson.databind.ser.BeanSerializerFactory@2fb15ae9 _deserializationConfig=com.fasterxml.jackson.databind.DeserializationConfig@6d413b7a _deserializationContext=com.fasterxml.jackson.databind.deser.DefaultDeserializationContext$Impl@1d33670b _registeredModuleTypes=[com.fasterxml.jackson.datatype.jsr310.JavaTimeModule] _rootDeserializers=[[simple type, class com.fasterxml.jackson.databind.JsonNode]:com.fasterxml.jackson.databind.deser.std.JsonNodeDeserializer@59c435d7]> | com.hltech.pact.gen.domain.pact.PojoNonCompliantWithPodamException: Unable to instantiate NotSupportedDto object with podam due to missing noArgsConstructor + setters / allArgsConstructor <com.hltech.pact.gen.PactGenerator@6015f8c0 feignClientsFinder=com.hltech.pact.gen.domain.client.feign.FeignClientsFinder@101a5e88 pactFactory=com.hltech.pact.gen.domain.pact.PactFactory@5f8667b3 pactJsonGenerator=com.hltech.pact.gen.domain.pact.PactJsonGenerator@2228fc28>
Sample feign client to reproduce error:
@FeignClient(name = "foo", url = "/foo") public interface SampleFailingFeign { @InteractionInfo(responseStatus = OK) @GetMapping(value = "/foo") NotSupportedDto getNotSupportedDto(); }
@AllArgsConstructor @Data public class NotSupportedDto { private static final String STATIC_DATA = "Sample static"; private String someData; }
Following error occurs during pact generation for feign when private static final fields present in DTO:
Sample feign client to reproduce error: