相关疑难解决方法(0)

具有 Spring 安全性的 Swagger-ui

我有一个带有身份验证服务的简单 REST 应用程序。我试图向它添加 swagger 和 swagger-ui,但我只能在/v2/api-docs. 在swagger-ui.html我只看到端点组,但我无法扩展任何列表。

在 chrome 调试中,我看到:

加载资源失败:服务器响应状态为 401()

未捕获的类型错误:无法读取未定义的属性“indexOf”

并在带有服务器的终端上:

错误 10020 --- [nio-5001-exec-3] ctrapJwtAuthenticationEntryPoint:响应未经授权的错误。消息 - 访问此资源需要完全身份验证

看起来我的配置文件丢失了一些东西,我尝试了一些在网上找到的解决方案,但仍然没有任何效果。

这是我的代码:

绒球

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

控制器

@RestController
@PreAuthorize("hasRole('USER')")
@RequestMapping(path = "restaurant")
@Api(value="restaurant", description="Example operations for restaurants")
public class RestaurantController {
// endpoints
}
Run Code Online (Sandbox Code Playgroud)

招摇豆

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.tablebooker.restaurantservice.restaurant"))
                .paths(PathSelectors.any())
                .build();
    }
}
Run Code Online (Sandbox Code Playgroud)

安全配置

@Configuration
@EnableWebSecurity …
Run Code Online (Sandbox Code Playgroud)

java spring spring-security swagger swagger-ui

1
推荐指数
2
解决办法
1万
查看次数

标签 统计

java ×1

spring ×1

spring-security ×1

swagger ×1

swagger-ui ×1