SpringBoot整合Swagger生成接口文档

引入

 现在的项目大多数都是前后端分离,所以对于后端开发,我们需要一个接口工具帮我们进行接口的整理、也方便我们测试。推荐postMan和Swagger形式,然后postMan需要自己手写接口,然后参数需要手动粘贴,但是相比于它,Swagger就相对方便很多了,他会根据后台的代码,然后自动生成接口以及参数名。

应用

  1. 在pom.xml中引入相应的依赖jar包SpringBoot整合Swagger生成接口文档_第1张图片
  2. 配置Swagger2配置文件`

@Configuration
@EnableSwagger2
public class Swagger2 {

@Bean
public Docket createRestApi(){
    return  new Docket(DocumentationType.SWAGGER_2)
            .apiInfo(apiInfo())
            .select()
            .apis(RequestHandlerSelectors.basePackage("com.ten.base.controller"))
            .paths(PathSelectors.any()).build();
}


private ApiInfo apiInfo(){
    return  new ApiInfoBuilder().title("Springboot-api文档")
            .description("").termsOfServiceUrl("")
            .version("1.0").build();
}

}`
注意:需要将下面红框中改成自己的的controller路径,否则swagger页面不显示;
SpringBoot整合Swagger生成接口文档_第2张图片

3.然后在相应接口加上Swagger注解

package com.ten.base.controller;


import com.mysql.cj.x.protobuf.Mysqlx;
import com.ten.base.pojo.Label;
import com.ten.base.service.LableService;
import entity.Result;
import entity.StatusCode;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.*;

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

//加上这个方法后,以后json不需要加responseBody
@RestController
//跨域请求
/*@CrossOrigin*/
@RequestMapping("/label")
//Swagger注解
@Api("LabelController相关的Api")
public class LabelController {

    @Resource
    public LableService lableService;

    @ApiOperation(value = "查询所有数据")
   //  @GetMapping(value = "{/findAll}")
    @RequestMapping(method = RequestMethod.GET)
    public Result findAll(){
       return new Result(true,0000,"查询成功",lableService.findAll());
    }

   //swagger注解
    @ApiOperation(value = "根据ID查找信息")
    @GetMapping(value = "{/findById}/lableId")
    public Result findById(@ApiParam(value = "项目ID") @PathVariable String lableId){
        return new Result(true,0000,"查询成功",lableService.findById(lableId));
    }

    @ApiOperation(value = "保存数据")
    @PostMapping(value = "{/save}")
    public  Result save(@RequestBody Label label){
        lableService.add(label);
        return new Result(true,0000,"baoc成功");
    }

    @ApiOperation(value = "更新数据")
    @PutMapping(value = "{/update}")
    public Result update( @PathVariable String lableId ,@RequestBody Label label){
        lableService.update(label);
        return new Result(true,0000,"更新成功");
    }

    @ApiOperation(value = "删除根据某个ID")
    @DeleteMapping(value = "deleteById")
    public Result deleteById( @PathVariable String lableId){

        lableService.deleteById(lableId);
        return new Result(true,0000,"删除成功");
    }

    @PostMapping("/search")
    public Result findSearch(@RequestBody Label label){
        List

备注:

  • @Api :用在类上,说明该类的作用
  • @ApiOperation:用在方法上,说明方法的作用
  • @ApiModel:描述一个Model的信息
  • @ApiModelProperty:实体中参数信息

4.启动服务测试,在浏览器中输入“http://localhost:9010/swagger-ui.html”,然后我们就可以看到相应的界面了。

SpringBoot整合Swagger生成接口文档_第3张图片
5.如果不想手动输入 地址,可以在idea进行配置一下,就可以自动弹出页面了。
SpringBoot整合Swagger生成接口文档_第4张图片

你可能感兴趣的:(Swagger)