Swagger Integration in Jakarta EE 8 project



我正在使用Angular 11前端和Jakarta EE 8后端开发一个web应用程序。我的后端主要由JAX-RS端点组成,我希望为其提供Swagger 2.0文档。

在另一个Spring Boot项目中,我使用了Springfox,我想知道雅加达EE世界是否有对应的项目。我尝试了以下

<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-jaxrs</artifactId>
<version>1.6.2</version>
</dependency>

但这只生成了没有UI的swagger.json。此外,我想从属性文件中读取Swagger注释中的文本,例如@ApiOperation,就像我对Spring所做的那样,例如

@ApiOperation(value = "${users.getAll.value}", notes = "${users.getAll.notes}")

有没有一个库可以提供这些功能?

值得一提的是:我的项目使用纯Java/AJakarta EE API,并在JBoss EAP 7.2.8上运行,因此没有特定的Jersey或RESTeasy实现

<dependency>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-api</artifactId> 
<version>8.0.0</version>
<scope>provided</scope> 
</dependency>

我的要求是:

  1. 一个同时生成json和ui的库
  2. 从属性文件读取
  3. 正在扫描ExceptionMapper类

OpenAPI-2.0似乎没有解决方案。所以我使用了以下链接来集成swagger ui(所以只完成了第一个要求(https://synaptiklabs.com/posts/adding-swagger-to-a-javaee-project-javaee-series-2-part-2/

但是对于OpenAPI-3.0,Eclipse微配置文件OpenAPI api值得尝试

<!-- 1. OpenAPI API -->
<dependency>
<groupId>org.eclipse.microprofile.openapi</groupId>
<artifactId>microprofile-openapi-api</artifactId>
<version>${microprofile-openapi-api-version}</version>
</dependency>
<!-- 2. Swagger-ui -->
<dependency>
<groupId>org.microprofile-ext.openapi-ext</groupId>
<artifactId>openapi-ui</artifactId>
<version>${openapi-ui-version}</version>
</dependency>

然而,我无法自己测试它,因为我正在开发JBOSS EAP-7.2.9,并且上面的API支持启动版本7.3.1 XP 1.0.0

添加swagger-ui依赖项可能会有所帮助。

<dependency>
<groupId>org.microprofile-ext.openapi-ext</groupId>
<artifactId>swagger-ui</artifactId>
<version>1.0.3</version>
</dependency>

来源:
https://ralph.blog.imixs.com/2020/05/08/microprofile-openapi-and-swagger-ui/https://github.com/microprofile-extensions/openapi-ext/tree/master/openapi-ui

最新更新