我已经使用 jaxrs 配置我的 java 应用程序以使用 swagger-api 生成 OpenAPI 的文档,但它没有生成 OpenAPI 对象的所有字段。 只是生成字段、openapi、路径和组件:
{
"openapi": "3.0.1",
"paths": {
"/dummyCheck": {
"post": {
"operationId": "dummyCheck",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Dummy"
}
}
}
},
"responses": {
"default": {
"description": "default response",
"content": {
"application/json": {}
}
}
}
}
}
},
"components": {
"schemas": {
"Dummy": {
"type": "object",
"properties": {
"numero": {
"type": "number"
}
}
}
}
}
}
我已遵循文档中出现的说明,但是在类路径或 WEB-INF 中添加 openapi-configuration.json 文件并没有给出预期的结果。
我的
pom.xml
文件中有这个:
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-jaxrs2</artifactId>
<version>2.2.7</version>
</dependency>
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-jaxrs2-servlet-initializer-v2</artifactId>
<version>2.2.7</version>
</dependency>
暴露服务的类是这样的
@Path("")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public class RSDummyCheck {
@Path("/dummyCheck")
@POST
public Response dummyCheck(Dummy input) {
Dummy resultado = input;
return Response.ok(resultado, "application/json").build();
}
}
我在
openapi-configuration.json
中使用的配置是:
{
"prettyPrint" : true,
"cacheTTL": 0,
"readAllResources": true,
"openAPI": {
"info": {
"version": "1.0",
"title": "Title",
"description": "Here is the description",
"contact": {
"email": "[email protected]"
}
}
}
}
我已将文件 openapi-configuration.json 移动到文档说明的所有位置(WEB-INF,在类路径中)并且我更改了名称和扩展名,但没有任何效果。 我已经调试了 io.swagger.v3.jaxrs2.integration.servlet.SwaggerServletInitializer 并且它没有读取文件。
为什么生成不完整,没有走openapi-configuration文件?