Package net.morimekta.providence.jax.rs
Class ProvidenceModelConverter
- java.lang.Object
-
- net.morimekta.providence.jax.rs.ProvidenceModelConverter
-
- All Implemented Interfaces:
io.swagger.v3.core.converter.ModelConverter
public class ProvidenceModelConverter extends java.lang.Object implements io.swagger.v3.core.converter.ModelConverter
Model converter for Providence generated messages and enums. This class requiresio.swagger.v3.core
to work. Set it up by adding dependencies to yourpom.xml
:
And a method on the<dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-jetty-servlet</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-jetty-http</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.inject</groupId> <artifactId>jersey-hk2</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>io.swagger.core.v3</groupId> <artifactId>swagger-core</artifactId> <version>${swagger.version}</version> </dependency> <dependency> <groupId>io.swagger.core.v3</groupId> <artifactId>swagger-models</artifactId> <version>${swagger.version}</version> </dependency> <dependency> <groupId>io.swagger.core.v3</groupId> <artifactId>swagger-integration</artifactId> <version>${swagger.version}</version> </dependency> <dependency> <groupId>io.swagger.core.v3</groupId> <artifactId>swagger-jaxrs2</artifactId> <version>${swagger.version}</version> </dependency> <dependency> <groupId>net.morimekta.providence</groupId> <artifactId>providence-jax-rs</artifactId> <version>${providence.version}</version> </dependency>
ResourceConfig
implementation.public class TestConfig extends ResourceConfig { public TestConfig() { setApplicationName("providence-test"); register(ProvidenceFeature.class); } private void addOpenApiSpec() { OpenAPI oas = new OpenAPI(); Info info = new Info() .title("OpenAPI Test Service") .description("Testing / Example service for providence + openapi.") .contact(new Contact().email("[email protected]")) .version("1.0.1"); oas.info(info); oas.servers(listOf( new Server().url("https://morimekta.net/test").description("Testing Service"), new Server().url("https://morimekta.net/prod").description("Production Service"))); OpenApiResource openApiResource = new OpenApiResource(); SwaggerConfiguration oasConfig = new SwaggerConfiguration() .openAPI(oas) .prettyPrint(true) .modelConverterClasses(setOf(ProvidenceModelConverter.class.getName())) .resourcePackages(Set.of("net.morimekta.api.resources")); openApiResource.setOpenApiConfiguration(oasConfig); register(openApiResource); } }
-
-
Constructor Summary
Constructors Constructor Description ProvidenceModelConverter()
Simple model converter for OpenAPI.ProvidenceModelConverter(java.lang.String $refPrefix, boolean complexUnions, boolean allowCompact, boolean allowEnumId)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description io.swagger.v3.oas.models.media.Schema
resolve(io.swagger.v3.core.converter.AnnotatedType type, io.swagger.v3.core.converter.ModelConverterContext context, java.util.Iterator<io.swagger.v3.core.converter.ModelConverter> chain)
-
-
-
Method Detail
-
resolve
public io.swagger.v3.oas.models.media.Schema resolve(io.swagger.v3.core.converter.AnnotatedType type, io.swagger.v3.core.converter.ModelConverterContext context, java.util.Iterator<io.swagger.v3.core.converter.ModelConverter> chain)
- Specified by:
resolve
in interfaceio.swagger.v3.core.converter.ModelConverter
-
-