OpenAPITools / openapi-diff

Utility for comparing two OpenAPI specifications.
Apache License 2.0
787 stars 152 forks source link

Register ObjectMapper modules #419

Closed jasper-vandemalle closed 1 year ago

jasper-vandemalle commented 1 year ago

Finding and registering modules can avoid exceptions like the following:

Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Java 8 date/time type `java.time.OffsetDateTime` not supported by default: add Module "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling (through reference chain: org.openapitools.openapidiff.core.model.ChangedOpenApi["changedOperations"]->java.util.ArrayList[0]->org.openapitools.openapidiff.core.model.ChangedOperation["oldOperation"]->io.swagger.v3.oas.models.Operation["responses"]->io.swagger.v3.oas.models.responses.ApiResponses["default"]->io.swagger.v3.oas.models.responses.ApiResponse["content"]->io.swagger.v3.oas.models.media.Content["application/json"]->io.swagger.v3.oas.models.media.MediaType["schema"]->io.swagger.v3.oas.models.media.Schema["properties"]->java.util.LinkedHashMap["someDateTime"]->io.swagger.v3.oas.models.media.DateTimeSchema["example"])
    at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:77)
    at com.fasterxml.jackson.databind.SerializerProvider.reportBadDefinition(SerializerProvider.java:1300)
    at com.fasterxml.jackson.databind.ser.impl.UnsupportedTypeSerializer.serialize(UnsupportedTypeSerializer.java:35)
...
    at com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:3821)
    at org.openapitools.openapidiff.core.output.JsonRender.render(JsonRender.java:22)
gitpod-io[bot] commented 1 year ago

jasper-vandemalle commented 1 year ago

@joschi would you be able to review / move this PR along?