码迷,mamicode.com
首页 > 其他好文 > 详细

关于使用swagger的问题

时间:2018-01-05 23:32:39      阅读:366      评论:0      收藏:0      [点我收藏+]

标签:enable   今天   生成   bst   工具   pack   公司   custom   extends   

  近来在公司实现,接触到不少新的工具框架,今天见识到了一个新的工具,它的存在好像是情理之中的,但是以前就没有遇到这东西。那就是swagger,它的功能就是把你写的controller的内容都集合到一起方便测试。或者说是把接口都集合在一起。什么样的感觉?看图就明白。

技术分享图片

  有了它,感觉方便了很多,一个是不用打开postman之类的测试工具了,另一方面连路径参数什么的都不用写了,让人兴奋。

  介绍一下怎么安装,我使用的是maven项目,maven项目在start.spring.io那里生成什么的都可以,至少加个web,然后在pom.xml添加上下面的代码:

    <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>
        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
            <version>2.9.9</version>
        </dependency>

  这把我遇到需要的都加上了。包括了一些需要用到的jar包什么的。

  接着写个关于它的配置文件:  

@Configuration
@EnableWebMvc
@EnableSwagger2
@ComponentScan(basePackages = {"com.example.swagger.swagger"})
public class SwaggerConfig {

    ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("XXXX Web Selfservice APIs")
                .description("")
                .license("")
                .licenseUrl("")
                .termsOfServiceUrl("")
                .version("1.0.0")
                .build();
    }

    @Bean
    public Docket customImplementation() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example.swagger.swagger"))
                .build()
                .directModelSubstitute(org.joda.time.LocalDate.class, java.sql.Date.class)
                .directModelSubstitute(org.joda.time.DateTime.class, java.util.Date.class)
                .apiInfo(apiInfo());
    }
}

  下一步是要增加它在项目的配置文件:

@Configuration
public class WebMVCConfig extends WebMvcConfigurerAdapter{

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("swagger-ui.html")
                .addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/");

    }
}

   最后就是写一个controller了:

@Api(value = "controller信息")
@RestController
@EnableAutoConfiguration
@RequestMapping(value = "/api/index")
public class indexController {

    @ApiOperation(value = "测试swagger", notes = "这是一条注意信息")
    @RequestMapping("/hello")
    public String hello() {
        return "hello";
    }

}

   现在可以打开网址:http://localhost:8080/swagger-ui.html,见证它的神奇。

关于使用swagger的问题

标签:enable   今天   生成   bst   工具   pack   公司   custom   extends   

原文地址:https://www.cnblogs.com/ljy-1471914707/p/8207226.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!