Вы можете использовать относительные пути, пока находитесь внутри одного проекта. Вам нужно добавить несколько тегов execution
, чтобы сгенерировать оба, клиент для продукта и сервер для корзины.
<executions>
<execution>
<id>generate-cart-server</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.basedir}/src/main/resources/static/api.yaml</inputSpec>
<language>spring</language>
<configOptions>
<dateLibrary>joda</dateLibrary>
</configOptions>
</configuration>
</execution>
<execution>
<id>generate-product-client</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.basedir}/../product/src/main/resources/static/api.yaml</inputSpec>
<language>java</language>
<library>resttemplate</library>
<configOptions>
<dateLibrary>joda</dateLibrary>
</configOptions>
</configuration>
</execution>
</executions>
Используйте <language>java</language>
для генерации кода клиента Java и выберите библиотеку, которую вы хотите использовать с <library>...</library>
. RestTemplate является частью Spring, но есть и многие другие.
Цитата из Baeldung :
Swagger Codegen supports the following Java libraries (pairs of HTTP
clients and JSON processing libraries):
jersey1 – Jersey1 + Jackson
jersey2 – Jersey2 + Jackson
feign – OpenFeign + Jackson
okhttp-gson – OkHttp + Gson
retrofit (Obsolete) – Retrofit1/OkHttp + Gson
retrofit2 – Retrofit2/OkHttp + Gson
resttemplate – Spring RestTemplate + Jackson
rest-easy – Resteasy + Jackson
Конечно, вам нужно добавить выбранную библиотеку в свой также зависимости.