Class 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 requires io.swagger.v3.core to work. Set it up by adding dependencies to your pom.xml:
    
       <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>
     
    And a method on the 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)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ProvidenceModelConverter

        public ProvidenceModelConverter()
        Simple model converter for OpenAPI.
      • ProvidenceModelConverter

        public ProvidenceModelConverter​(@Nonnull
                                        java.lang.String $refPrefix,
                                        boolean complexUnions,
                                        boolean allowCompact,
                                        boolean allowEnumId)
    • 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 interface io.swagger.v3.core.converter.ModelConverter