我正在开发一个项目,其中主要开发人员将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) {
...
}
...
}
}
当班级Controller
从SomeModule
班级中取出时,swagger-ui会正常显示。
但是,当它嵌套在另一个类中时,它不起作用。
答案 0 :(得分:0)
事实证明,特定的休息控制器甚至无法访问,因为它们嵌套在另一个类中。
这导致@RestController和swagger文档生成都无声地失败。
解决方法是使嵌套类保持静态!
静态关键字解决了问题:public static class Controller {