无法推断基本 url,Swagger UI 出错

问题描述 投票:0回答:2

我正在使用 swagger 来执行 docs api 并收到错误 无法推断基本 url ,我在 stackoverflow 上尝试了一些以前的解决方案,但不起作用,有人帮助我。 我用的是swagger 2.7.0

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.7.0</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.7.0</version>
</dependency>

Swagger配置:

@EnableSwagger2
public class SwaggerConfig {
     @Bean
     public Docket apiDocket() {
         return new Docket(DocumentationType.SWAGGER_2)
                 .select()
                 .apis(RequestHandlerSelectors.basePackage("com.javaspring.blogapi"))
                 .paths(PathSelectors.any())
                 .build();
     }
}

安全配置:

http.authorizeHttpRequests(auth ->
                 Auth
                         .requestMatchers("/api/v1/auth/**",
                                 "/v2/api-docs",
                                 "/v3/api-docs",
                                 "/v3/api-docs/**",
                                 "/swagger-resources",
                                 "/swagger-resources/**",
                                 "/configuration/ui",
                                 "/configuration/security",
                                 "/swagger-ui/**",
                                 "/webjars/**",
                                 "/swagger-ui.html").permitAll()

控制器之一:

@RestController
@RequestMapping(path = "/users")
public class UserController {
     @Autowired
     private UserService userService;

     @GetMapping("/{username}")
     public ResponseEntity<UserDTO> getUser(@PathVariable String username){
         return ResponseEntity.ok().body(userService.findByUsername(username));
     }

我尝试在输入中输入http://localhost:8080/,当它说无法推断基本网址时,但它没有解决问题。

具体通知: 无法推断基本 URL。当使用动态 Servlet 注册或 API 位于 API 网关后面时,这种情况很常见。基本 url 是提供所有 swagger 资源的根。例如如果 api 在 http://example.org/api/v2/api-docs 可用,则基本 URL 为 http://example.org/api/。请手动输入位置:

spring-boot spring-security swagger swagger-ui springfox
2个回答
0
投票

在 swagger 配置中的 build() 之后添加

.pathMapping("/")

并在 application.properties 中添加此属性:

spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER

0
投票

检查这些 springfox-demos 并查看什么配置适合您的构建。 您还可以查看docs以获取更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.