当前位置: 首页 > 知识库问答 >
问题:

如何使用springdoc-openapi将Open API 3与Spring project(而不是Spring Boot)集成

叶冥夜
2023-03-14

共有1个答案

南宫才英
2023-03-14

使用springdoc-openapi-ui 1.5.2为spring-mvc(5.3.1)加载ui看起来更加简单:

build.gradle(gradle Version6.5)

implementation 'org.springdoc:springdoc-openapi-ui:1.5.2'

dependencies一节中不显式地需要spring-boot-autocfigure和spring-boot,因为org.springdoc:springdoc-openapi-ui:1.5.2已经有了这两者(版本2.4.0)。您会惊讶于最终应用程序将添加多少依赖项以及哪些依赖项。

@Configuration
@EnableWebMvc
@ComponentScan(basePackages = {"org.springdoc"})
@Import({org.springdoc.core.SpringDocConfiguration.class,
         org.springdoc.webmvc.core.SpringDocWebMvcConfiguration.class,
         org.springdoc.webmvc.ui.SwaggerConfig.class,
         org.springdoc.core.SwaggerUiConfigProperties.class,
         org.springdoc.core.SwaggerUiOAuthProperties.class,
         org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration.class})

class OpenApiConfig implements WebMvcConfigurer {
}
<security:intercept-url pattern="/swagger*/**" access="ROLE_DEVELOPER"/>
<security:intercept-url pattern="/v3/api-docs" access="ROLE_DEVELOPER"/>
http://localhost:8080/your_context_path/swagger-ui.html
http://localhost:8080/your_context_path/v3/api-docs
 类似资料:
  • OpenAPI3.0规范规定,没有任何类型的模式将匹配任何数据类型。 没有类型的模式匹配任何数据类型--数字、字符串、对象等等。 因此,对此进行建模的正确方法是下面的Swagger定义,其中没有属性: 但是,每个开放问题Swagger-core#3834,Java值都映射到OpenAPI类型,而不是任意类型。如上所述,这意味着这样的API返回或接受不是OpenAPI的类型是不正确的,例如、、等。

  • springdoc-openapi库自动标记生成的OpenAPI文档中所需的某些属性。例如,注释为的属性将包括在生成的YAML文件中所需的属性列表中。 库不做的一件事是将可选属性标记为。但是,默认情况下,Spring Boot应用程序将在请求中接受,并在可选属性的响应中返回。这意味着OpenAPI文档和endpoint行为之间存在差异。 在SpringDoc-OpenAPI生成的OpenAPI文档

  • 我正在使用版本为(1.2.32)的SpringDocOpenAPI。现在,我想在UI中按HTTP方法(反向顺序)对endpoint进行排序,并且我没有在endpoint方法上使用任何标记。 如果我有4个endpoint发布,获取,放置,删除,然后我想显示方法放置,发布,获取,删除 我尝试了以下方法,但似乎不起作用: springdoc.swagger-ui.operations排序器=(方法和al

  • 我试图在OpenAPI 3.0规范中创建一个响应链接。更具体地说,我想提供我的一个响应和其他可用操作之间的已知关系(参见。链接对象)。 在我的SpringBoot项目中,我使用Springdoc(版本:1.3.9)生成API文档。根据@ApiResponse#links文档,我已尝试使用以下endpoint代码实现我的目标: 不幸的是,我看不到任何结果在招摇过市的用户界面,但“没有链接”的描述。

  • 我使用springdoc-openapi来记录我的REST API。错误由错误对象返回,该对象具有和。我使用注释来记录一个示例。然而,我需要每个不同的错误不同的例子。有没有办法,怎么做? 我的代码示例: