java - Springboot中加载API定义失败

标签 java spring-boot openapi

我正在转向 Spring doc open Api 并尝试访问 URL。我从控制台收到以下错误和日志。

网址:http://localhost:8080/swagger-ui/index.html?url=v3/api-docs

日志:

2020-03-24 13:21:03.930 DEBUG 32622 --- [nio-8080-exec-3] o.s.web.servlet.DispatcherServlet        : GET "/swagger-ui/index.html?url=v3/api-docs", parameters={masked}
2020-03-24 13:21:03.931 DEBUG 32622 --- [nio-8080-exec-3] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped to ResourceHttpRequestHandler ["classpath:/META-INF/resources/webjars/"]
2020-03-24 13:21:03.933 DEBUG 32622 --- [nio-8080-exec-3] o.s.web.servlet.DispatcherServlet        : Completed 304 NOT_MODIFIED
2020-03-24 13:21:03.992 DEBUG 32622 --- [nio-8080-exec-4] o.s.web.servlet.DispatcherServlet        : GET "/swagger-ui/v3/api-docs", parameters={}
2020-03-24 13:21:03.993 DEBUG 32622 --- [nio-8080-exec-4] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped to ResourceHttpRequestHandler ["classpath:/META-INF/resources/webjars/"]
2020-03-24 13:21:03.994 DEBUG 32622 --- [nio-8080-exec-4] o.s.w.s.r.ResourceHttpRequestHandler     : Resource not found
2020-03-24 13:21:03.994 DEBUG 32622 --- [nio-8080-exec-4] o.s.web.servlet.DispatcherServlet        : Completed 404 NOT_FOUND
2020-03-24 13:21:03.994 DEBUG 32622 --- [nio-8080-exec-4] o.s.web.servlet.DispatcherServlet        : "ERROR" dispatch for GET "/error", parameters={}
2020-03-24 13:21:03.995 TRACE 32622 --- [nio-8080-exec-4] s.w.s.m.m.a.RequestMappingHandlerMapping : 2 matching mappings: [{ /error}, { /error, produces [text/html]}]
2020-03-24 13:21:03.995 TRACE 32622 --- [nio-8080-exec-4] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#error(HttpServletRequest)
2020-03-24 13:21:03.996 DEBUG 32622 --- [nio-8080-exec-4] o.s.w.s.m.m.a.HttpEntityMethodProcessor  : Using 'application/json', given [application/json, */*] and supported [application/json, application/*+json, application/json, application/*+json]
2020-03-24 13:21:03.997 DEBUG 32622 --- [nio-8080-exec-4] o.s.w.s.m.m.a.HttpEntityMethodProcessor  : Writing [{timestamp=Tue Mar 24 13:21:03 EDT 2020, status=404, error=Not Found, message=No message available,  (truncated)...]
2020-03-24 13:21:03.998 DEBUG 32622 --- [nio-8080-exec-4] o.s.web.servlet.DispatcherServlet        : Exiting from "ERROR" dispatch, status 404

当我尝试打开以下 URL 时,我确实看到了 JSON 响应。

http://localhost:8080/v3/api-docs

最佳答案

今天我在访问如下所示的 swagger URL 时遇到了同样的问题:

  • http://localhost:6050/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config#/

网络浏览器显示页面:

enter image description here

将路径 /v3/api-docs 添加到页面文本字段中并单击显示的文档的浏览按钮后。

enter image description here

寻找springdoc-openapi configuration我可以看到默认的 swagger ui 路径是 /swagger-ui.html 所以当我访问以下 URL 时:

  • http://localhost:6050/swagger-ui.html

成功了。

关于java - Springboot中加载API定义失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60836152/

相关文章:

java - Java中的声明和定义有什么区别?

java - 如何动态设置Spring Boot端口?

Java RestController REST参数依赖注入(inject)或请求

spring-boot - 端点 "/api-docs"不适用于自定义 GsonHttpMessageConverter

swagger - springdoc-openapi 规范生成与泛型继承

java - 在JAVA servlet中放置/发布没有内容的请求

java - AAPT : error: duplicate value for resource 'attr/type' with config '' . AAPT:错误:先前在此处定义的资源

java - 如何在Gradle中使用初始化脚本配置jacocoTestReport

java - 是否有一种设计模式支持注入(inject)多个抽象类实现并有条件地使用注入(inject)的bean之一

swagger - 从 Scala 源代码 (http4s) 生成 Swagger/OpenAPI 规范