Swagger UI不显示嵌套的restcontroller类

时间:2017-07-12 08:26:50

标签: swagger swagger-ui springfox

我正在开发一个项目,其中主要开发人员将RestController类嵌套在其他类中。

招摇配置如下:

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build();
    }
}

类定义遵循以下格式:

@Slf4j
public class SomeModule {

    @RestController @Transactional @RequiredArgsConstructor @RequestMapping(value="/a/b/c/something")
    public class Controller {   

        @PostMapping(value="/")
        public HttpEntity<Command> createSomething (@RequestBody CreateSomethingCommand command) {
            ...
        } 
        ...
    }
}   

当班级ControllerSomeModule班级中取出时,swagger-ui会正常显示。

但是,当它嵌套在另一个类中时,它不起作用。

1 个答案:

答案 0 :(得分:0)

答案

事实证明,特定的休息控制器甚至无法访问,因为它们嵌套在另一个类中。

这导致@RestController和swagger文档生成都无声地失败。

解决方法是使嵌套类保持静态!

静态关键字解决了问题:public static class Controller {

参考