添加了Springfox Swagger-UI,它不起作用,我缺少什么?

请按照此处的说明进行操作:

http://www.baeldung.com/swagger-2-documentation-for-spring-rest-

api

我将以下依赖项添加到我的项目中:

compile "io.springfox:springfox-swagger2:2.7.0"

compile "io.springfox:springfox-swagger-ui:2.7.0"

并像这样配置SpringFox Swagger

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import springfox.documentation.builders.PathSelectors;

import springfox.documentation.builders.RequestHandlerSelectors;

import springfox.documentation.spi.DocumentationType;

import springfox.documentation.spring.web.plugins.Docket;

import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration

@EnableSwagger2

public class SwaggerConfig {

@Bean

public Docket api() {

return new Docket(DocumentationType.SWAGGER_2)

.select()

.apis(RequestHandlerSelectors.any())

.paths(PathSelectors.any())

.build();

}

}

但Swagger用户界面似乎未启用。我试过了:

  • http:// localhost:8080 / swagger-ui.html
  • http:// localhost:8080 / api / swagger-ui.html
  • http:// localhost:8080 / v2 / api-docs / swagger-ui.html

我得到的是:

Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Mon Sep 11 09:43:46 BST 2017

There was an unexpected error (type=Method Not Allowed, status=405).

Request method 'GET' not supported

在日志中,我看到:

2017-09-11 09:54:31.020  WARN 15688 --- [nio-8080-exec-6] o.s.web.servlet.PageNotFound             : Request method 'GET' not supported

2017-09-11 09:54:31.020 WARN 15688 --- [nio-8080-exec-6] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved exception caused by Handler execution: org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'GET' not supported

http:// localhost:8080 / swagger-resources返回:

[{"name": "default",

"location": "/v2/api-docs",

"swaggerVersion": "2.0"}]

我想念什么?

回答:

我遇到了这个问题,因为我的端点具有带有以下形式的路径变量的请求映射:/ {var}。事实证明,这对于GET和POST端点都是一个问题,即GET /

{var}和POST / {var}阻止swagger-ui。一旦使路径更加具体,就可以使用swagger-ui了。

引用https://github.com/springfox/springfox/issues/1672

当spring找到一个只有一个变量的简单路径时,招摇无法拦截URL。

通过调查评论中的各种想法而发现。

以上是 添加了Springfox Swagger-UI,它不起作用,我缺少什么? 的全部内容, 来源链接: utcz.com/qa/431985.html

回到顶部