API und Client Code generieren
Im Folgenden wird Swagger Codegen 3.X (3.0.0 branch) zur Generierung des API und Client Codes verwendet. Details zur Installation und weitere Beispiele zur Verwendung sind auch auf dem offiziellen Github Repository zu finden.
In der Dokumentation zu den RIS Synergy Endpoints befindet sich jeweils ein Link zum API Specification File, welches zum Generieren des Codes benötigt wird.
Genieren von Client Code via CLI (URL)
git clone https://github.com/swagger-api/swagger-codegen
cd swagger-codegen
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate\
-i https://cris-staging.aau.at/ris-synergy/funding/v3/api-docs\
-l java \
-t <template directory> \
-o samples/client/ris-synergy/java
cd samples/client/ris-synergy/java
mvn package
Generieren von Client Code via CLI (lokale Datei)
Alternativ kann das Specification File lokal im json Format abgespeichert und für das Generieren des Client Codes verwendet werden.
git clone https://github.com/swagger-api/swagger-codegen
cd swagger-codegen
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate \
-i ./path/to/local/file/spec.json \
-l java \
-t <template directory> \
-o samples/client/ris-synergy/java
Weitere Details und Optionen zum Generieren vom Client Code sind auch auf https://github.com/swagger-api/swagger-codegen#getting-started zu finden.
Generieren von Server-Stub Code
Das Generieren von Server-Stub Code unterscheidet sich je nach Framework. Beispiele zu den verschieden Frameworks sind auf https://github.com/swagger-api/swagger-codegen/wiki/Server-stub-generator-HOWTO gegeben. Das Specification File kann genau wie beim Generieren des Client Codes über eine URL abgefragt oder lokal hinterlegt werden.
Java Spring Boot
git clone https://github.com/swagger-api/swagger-codegen
cd swagger-codegen
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate \
-i https://cris-staging.aau.at/ris-synergy/funding/v3/api-docs \
-l spring \
-t <template directory> \
-o samples/server/ris-synergy/springboot
Generieren von Client/Server Stub Code mit Maven
Das Generieren des Codes kann auch mithilfe des Swagger Codegen Maven Plugins verwaltet werden. Dazu werden folgende Ergänzungen in der pom.xml File benötigt:
<dependency>
<groupId>io.swagger.codegen.v3</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>3.0.34</version>
</dependency>
<plugin>
<groupId>io.swagger</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>2.3.1</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>path/to/file/spec.json</inputSpec>
<templateDirectory>path/to/template directory</templateDirectory>
<language>java</language>
<configOptions>
<sourceFolder>src/gen/java/main</sourceFolder>
</configOptions>
</configuration>
</execution>
</executions>
</plugin>
Ausführliche Details und Beispiele zur Verwendung des Swagger Codegen Maven Plugins sind auf https://github.com/swagger-api/swagger-codegen/blob/master/modules/swagger-codegen-maven-plugin/README.md beschrieben.