利用ApiFox写出一篇漂亮的接口文档

本文介绍了如何在SpringBoot项目中集成Swagger2来生成API文档,并展示了如何配置Swagger,编写注解,以及启动后访问Swagger-UI。最后,说明了如何下载swagger.json文件并导入到ApiFox进行接口管理和测试。
摘要由CSDN通过智能技术生成

 注:本文是利用swagger.json将项目导入ApiFox

一、引入swagger2的依赖

        <!--swagger API获取-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <!--swagger-ui API获取-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>

二、编写Swagger配置类

package com.example.demo.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@EnableSwagger2
@Configuration
public class SwaggerConfig {
    /**
     * 创建API
     */
    @Bean
    public Docket createRestApi() {
        // 指定扫描包路径
        return new Docket(DocumentationType.SWAGGER_2) // 指定生成的文档的类型是Swagger2
//                .pathMapping("/swagger")
                // 用来创建该API的基本信息,展示在文档的页面中(自定义展示的信息),配置文档页面的基本信息内容
                // 设置哪些接口暴露给Swagger展示
                .select()
                // 扫描所有有注解的api,用这种方式更灵活
                //.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
                .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
                // 扫描所有 .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any()).build();
    }

    /**
     * 添加摘要信息
     */
    private ApiInfo apiInfo() {
        // 用ApiInfoBuilder进行定制
        return new ApiInfoBuilder()
                // 设置标题
                .title("描述:Spring Boot中使用Swagger2构建RESTful APIs")
                // 描述
                .description("swagger 测试demo")
                // 版本
                .version("版本号: 1.0.1")
                .build();

    }
}

三、标明Swagger注解

package com.example.demo.controller;


import com.baomidou.mybatisplus.extension.api.ApiController;
import com.example.demo.entity.Goods;
import com.example.demo.entity.Goods1;
import com.example.demo.service.Goods1Service;
import com.example.demo.service.GoodsService;
import com.example.demo.utils.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;

/**
 * (Goods)表控制层
 *
 * @author makejava
 * @since 2022-10-21 23:04:08
 */
@RestController
@RequestMapping("goods")
@Api(tags = "GoodsController")
public class GoodsController extends ApiController {
    /**
     * 服务对象
     */
    @Resource
    private GoodsService goodsService;

    @Resource
    private Goods1Service goods1Service;

    /**
     * @return 所有数据
     */
    @PostMapping("recommend")
    @ApiOperation(value = "recommendGoods", notes = "Returns a list of recommended goods")
    public void recommendGoods(Long userId) {
         //方法体略
    }

    @PostMapping("predict")
    @ApiOperation(value = "predictOrder", notes = "Returns a list of predicting goods")
    public void predictOrder(Long userId) {
        //方法体略
    }
}

四、启动springboot访问swagger

启动失败的同学要注意下springboot swagger 的版本搭配

springbootswagger
2.5.62.6.1~2.9.2

        swagger-ui地址:

        http://localhost:8081/swagger-ui.html

 

 点击/v2/api-docs 下载swagger.json文件。

五、将文件导入apifox

 

 内部还有本地mock、云端mock数据测试功能,快试试吧!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值