/
Generera klientkod för SOAP och REST
Generera klientkod för SOAP och REST
Exempel på plugin för att generera klient-kod för SOAP- respektive REST-klienter.
SOAP
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>2.5.0</version>
<!-- Enables fluent builder for generated classes -->
<dependencies>
<dependency>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-fluent-api</artifactId>
<version>3.0</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>xjc</id>
<goals>
<goal>xjc</goal>
</goals>
</execution>
</executions>
<configuration>
<xjbSources>
<!-- Kan behövas om dom genererade klasserna inte annoteras upp
med @XmlRootElement(name = "ClassName") -->
<xjbSource>${basedir}/src/main/resources/contracts/xjb/example.xjb</xjbSource>
</xjbSources>
<!-- Enable fluent -->
<arguments>
<argument>-Xfluent-api</argument>
</arguments>
<outputDirectory>${project.build.directory}/your-sources</outputDirectory>
<sourceType>wsdl</sourceType>
<sources>
<source>${basedir}/src/main/resources/contracts/Example.wsdl</source>
</sources>
</configuration>
</plugin>
example.xjb
<jaxb:bindings
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
jaxb:version="2.0"
xmlns:xjc= "http://java.sun.com/xml/ns/jaxb/xjc"
jaxb:extensionBindingPrefixes="xjc">
<jaxb:globalBindings>
<xjc:simple/>
</jaxb:globalBindings>
</jaxb:bindings>
REST
<plugin>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<version>5.4.0</version>
<executions>
<execution>
<id>some-id</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.basedir}/src/main/resources/contracts/swagger.json</inputSpec>
<output>${project.build.directory}/your-sources</output>
<generatorName>spring</generatorName>
<generateApis>false</generateApis>
<configOptions>
<apiPackage>somePackage</apiPackage>
<dateLibrary>java8</dateLibrary>
<generateSupportingFiles>false</generateSupportingFiles>
<library>microprofile</library>
</configOptions>
</configuration>
</execution>
</executions>
</plugin>
Notera att med generatorName
satt till spring
så genereras klientkod som använder annoteringar för OpenAPI v3.x. För att generera klientkod som använder annoteringar för v2.x bör java
användas.
Problem att IDE:t inte hittar genererad kod
I vissa fall hittar inte IDE:n genererad kod och det kan då behövas konfigureras upp så att katalogen märks upp som en “source-folder”
, multiple selections available,
Related content
Genererade klienter
Genererade klienter
Read with this
API-dokumentation både internt och externt - hur gör man?
API-dokumentation både internt och externt - hur gör man?
Read with this
Spring Boot Admin
Spring Boot Admin
Read with this
Utveckling
Utveckling
Read with this