我正在移动到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
8条答案
按热度按时间z4bn682m1#
我有这个相同的问题今天访问一个 swagger 的URL如下:
网页浏览器显示页面:
在我将路径
/v3/api-docs
添加到页面文本字段并单击浏览按钮后,文档显示。查看springdoc-openapi configuration,我可以看到默认的swagger ui路径是
/swagger-ui.html
,因此当我访问以下URL时:它起作用了。
6vl6ewon2#
可能有这样的原因,当我们开始使用 Spring 安全,即使这样,我们也将无法访问swagger-ui,这里是我尝试,它开始工作。
ghhaqwfi3#
是的,要引用的网址不正确。我试过新的网址,效果很好。
http://localhost:8080/swagger-ui/index.html?url=/v3/api-docs&validatorUrl=
9lowa7mx4#
如果您使用security或类似security的东西,您应该允许“../v3/api”文件。
http.authorizeRequests().antMatchers("/swagger/**","/v3/**").permitAll();
mi7gmzs65#
如果你使用的是spring-security,你必须在安全配置中包含配置路径,我在安全配置中做的就是从websecurity中排除这些路径。
mznpcxlj6#
在我的例子中,我有一个过时的
commons-lang3
版本。一旦我将它更新到3.10
版本,它就工作了。58wvjzkj7#
如果您正在使用spring security,则在配置路径下添加security配置文件
rjee0c158#
用途
可作为临时解决方案