swagger导入API到postman(为什么你的swagger导入不成功,请看这里)

背景

平时的工作大多都是使用的postman进行前后端的调试,其实最开始也试过下swagger,但是碍于swagger-ui奇丑的界面和接口调试超级不方便便弃用了;但是今天突发奇想为什么这二者不可以结合起来呢,遂百度了一番,结局是令人欣喜的,网上已有各路神仙发掘了这个神操作,激动的我按耐不住,跟着操作了一番,但是在导入到postman中报错,无法成功导入。。。

swagger导入API到postman(为什么你的swagger导入不成功,请看这里)_第1张图片

好在秉着不抛弃不放弃的精神,继续看了看原因,自己胡乱改了下配置,然后居然可以了。原来网上大家的操作都是对的,但是大家忽略了一个地方,就是swagger自身的配置,能够导入到postman中的swagger其配置是DocumentationType.SPRING_WEB。

话不多说,如果你也遇到了swagger api 导入到 postman错误的情况,或者想知道怎样才能正确的导入就请继续往下看吧~

Swagger配置

/**
 * Swagger2API文档的配置
 */
@Configuration
@EnableSwagger2
public class Swagger2Config {
    @Bean
    public Docket createRestApi() {
        // 使用spring-web兼容postman
        return new Docket(DocumentationType.SPRING_WEB)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.jjh"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("swagger-demo后台系统")
                .description("swagger后台模块")
                .contact("jjh")
                .version("1.0")
                .build();
    }
}

注意,其中的DocumentationType.SPRING_WEB是重点,如果你的配置不是SPRING_WEB而是SWAGGER_2,那么可以尝试改成SPRING_WEB,没准就可以导入了。(我就是改了这里然后就可以导入了)

细心的同学会发现,SWAGGER_2和SPRING_WEB对应生成的API json格式是有所区别的,SPRING_WEB的json是可以被postman解析的,有兴趣的同学可以将SPRING_WEB对应生成的API json拷贝到postman下import中的Paste Raw Text 尝试下。

顺便附上swagger的依赖项:

        <dependency>
            <groupId>io.springfoxgroupId>
            <artifactId>springfox-swagger2artifactId>
            <version>2.9.2version>
        dependency>
        <dependency>
            <groupId>io.springfoxgroupId>
            <artifactId>springfox-swagger-uiartifactId>
            <version>2.9.2version>
        dependency>

导入Postman

打开swagger-ui页面,复制地址(http://localhost:8080/v2/api-docs):
swagger导入API到postman(为什么你的swagger导入不成功,请看这里)_第2张图片

打开postman,选中Import-》Import From Link 粘贴地址到输入框中,点击Import按钮即可完成导入。
swagger导入API到postman(为什么你的swagger导入不成功,请看这里)_第3张图片

如下图左侧可以看到已导入的接口列表:
swagger导入API到postman(为什么你的swagger导入不成功,请看这里)_第4张图片


参考文档

Swagger与postman使用心得
最强PostMan使用教程(6)- 使用Postman导入swagger OPEN API

你可能感兴趣的:(web)