用swagger创建api doc

时间:2017-04-05 15:26:03

标签: java spring swagger api-doc

我尝试通过招摇来生成一些api 没有弹簧靴 但它不起作用

我的招摇控制器类

@Configuration
@EnableSwagger2
@Controller
@RequestMapping("/srs/api")
public class SwaggerConfig extends WebMvcConfigurerAdapter {
    @Bean
    @RequestMapping(value = "/v2/api-docs", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
    public Docket swaggerconf() {
        return new Docket(DocumentationType.SWAGGER_2)
                .useDefaultResponseMessages(false)
                .apiInfo(apiInfo("2.0"))
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build();
    }
    private ApiInfo apiInfo(String version) {
        return new ApiInfoBuilder()
                .title("API")
                .description("REST API")
                .version(version)
                .build();
    }
}

url已映射

Mapped "{[/srs/api/v2/api-docs],methods=[GET],produces=[application/json]}" onto public springfox.documentation.spring.web.plugins.Docket com.my.applications.srs.rest.controllers.SwaggerConfig.swaggerconf()

但是没有创建文档 我错过了什么? 可能我可以在服务器上使用SpringBoot吗?

1 个答案:

答案 0 :(得分:1)

您可以尝试将您的招摇配置更新为:

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket swaggerconf() {
        return new Docket(DocumentationType.SWAGGER_2)
                .useDefaultResponseMessages(false)
                .apiInfo(apiInfo("2.0"))
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build();
    }
    private ApiInfo apiInfo(String version) {
        return new ApiInfoBuilder()
                .title("API")
                .description("REST API")
                .version(version)
                .build();
    }
}

然后将此配置导入(如果尚未完成)@Import到您的Application类。

当你引导你的应用程序时,你应该有一个像

这样的日志
 Mapped "{[/v2/api-docs],methods=[GET],produces=[application/json || application/hal+json]}" onto public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)

如果你打开网址/v2/api-docs,你应该得到一个json