欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

YApi的使用,导入使用

程序员文章站 2022-05-09 13:50:49
...

YApi的使用,导入使用

废话不多说,列举我目前的两种使用方式,如果有更便捷的请务必第一个告诉我!

1.json文件导入

引入依赖

<!-- 引入swagger2包 -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>

<!-- 引入自带UI,可选-->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>
    
 <!--Swagger-UI API文档生产工具-->
      <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>${swagger2.version}</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>${swagger2.version}</version>
        </dependency>

编写Swagger类,用于返回json数据,请求路径的选择在.paths(PathSelectors.ant("/item/*")中参数决定

@Configuration
@EnableSwagger2
@ConfigurationProperties(prefix = "swagger")
public class Swagger2 {
	//定义你的包名
    private static final String BASE_PACKAGE = "com.mhsb.company";
    @Value(value = "true")
    private boolean enableSwagger;

    @Bean
    public Docket helloDocket() {
        return new Docket(DocumentationType.SWAGGER_2)
                //注册整体api信息
                .apiInfo(apiInfo())
                //swagger功能是否启用,可以通过配置设置,也可以先写死
                .enable(enableSwagger)
                .select()
                //指定扫描的包
                .apis(RequestHandlerSelectors.basePackage(BASE_PACKAGE))
                //***设置此组只匹配admin/**的请求,将你需要的请求内容转换成填入yapi中的内容格式
                .paths(PathSelectors.ant("/item/*"))
                .build();
    }
	//个人信息,不重要,根据个人需要选择
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder().title("App")
                .description("商城")
                .contact(new Contact("Gary", "", "[email protected]"))
                .version("1.0.0")
                .build();
    }

}

启动项目后,通过访问你项目路径后加上/v2/api-docs 如:http://localhost:项目启动端口/项目名/v2/api-docs 如图所示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gVI6XAr7-1607591829824)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201210165835336.png)]

进入yapi,放入另存的json文件即可,这种方式灵活,你能控制到具体的某个请求,看自己想怎么使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KOSAk6Xp-1607591829826)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201210170047294.png)]

2.脚本导入

1 编写Swagger类依然需要

2 通过node安装yapi-cli来进行操作,需要事先安装node才可使用,先安装

npm install -g yapi-cli

3 在任意位置新建yapi-import.json的文件,记事本打开,放入内容

{
  "type": "swagger",
  "token": "17fba0027f300248b804hdshdsjfldsafset409jijkdsjkfjdsfuew",
  "file": "http://ip地址:端口号/项目名/v2/api-docs",
  "merge": "normal",
  "server": "http://localhost:3000"
}

token是你在yapi中放入的位置,merge代表合并模式,good是智能合并

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v59vPqwP-1607591829827)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201210171036860.png)]

4 建好以后,在json文件的位置打开命令行窗口输入yapi import执行,即可导入自己配置的接口;

或者另外一种自己写个脚本,每次点击下即可,脚本内容:

#!/bin/sh
yapi import

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d6AIItD6-1607591829828)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201210171418489.png)]

配置的接口;

或者另外一种自己写个脚本,每次点击下即可,脚本内容:

#!/bin/sh
yapi import

[外链图片转存中…(img-d6AIItD6-1607591829828)]

注意是这些的前提条件是你配置了请求的注解信息,不然你导入当然丢东西,如@Api,@ApiOperation,@[email protected]等等
相关标签: tool