您当前的位置: 首页 >  Java

彭世瑜

暂无认证

  • 1浏览

    0关注

    2791博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java:一个API文档框架Swagger

彭世瑜 发布时间:2020-08-04 10:27:41 ,浏览量:1

新建SpringBoot项目,添加依赖



    io.springfox
    springfox-swagger2
    2.6.1


    io.springfox
    springfox-swagger-ui
    2.6.1


项目主要文件结构

$ tree

pom.xml
src/main/java/com/example/demo
             ├── Application.java
             ├── config
             │   └── SwaggerConfig.java
             └── controller
                 └── EmployeeController.java

配置类

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;

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket docket() {

        // 扫描指定接口所在路径
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    // swagger 信息
    public ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("利用swagger2构建的API文档")
                .description("用restful风格写接口")
                .termsOfServiceUrl("https://www.baidu.com/")
                .version("1.0")
                .build();
    }
}

控制器

package com.example.demo.controller;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Map;

@RestController
@Api(value = "用户管理类", description = "接口描述")
public class EmployeeController {

    @ApiOperation(value = "新增一个用户", notes = "新增一个用户")
    @GetMapping(value = "insert")
    public String insert(Map map) {
        return "hi";
    }

    @ApiOperation(value = "更新一个用户", notes = "更新一个用户")
    @GetMapping(value = "update")
    public String update(Map map) {
        return "hi";
    }
}

文档页面:http://localhost:8080/swagger-ui.html 在这里插入图片描述 感觉入侵性太强了,而且配置参数较多,密密麻麻的

参考 Swagger的简介与使用方法

关注
打赏
1665367115
查看更多评论
立即登录/注册

微信扫码登录

0.1751s