Swagger与SpringBoot环境

1. 构建Swagger与SpringBoot环境

1.1 引入依赖

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>

1.2 编写Swagger配置类

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .pathMapping("/")
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.spz.controller"))
                .paths(PathSelectors.any())
                .build().apiInfo(new ApiInfoBuilder()
                        .title("SpringBoot整合Swagger")
                        .description("SpringBoot整合Swagger,详细信息......")
                        .version("9.0")
                        .contact(new Contact("xiaozhi","www.spz.xin","sovz4217@163.com"))
                        .license("The License")
                        .licenseUrl("http://www.sunpeizhi.top")
                        .build());
    }
}

1.3 启动springboot应用

在这里插入图片描述

1.4 访问Swagger的UI界面

  • 访问Swagger提供的ui界面: http://localhost:8080/swagger-ui.html

在这里插入图片描述


2.使用Swagger构建

1.开发Controller接口

@RestController
@RequestMapping("user")
public class UserController {
    @GetMapping("findAll")
    public Map<String,Object> findAll(){
        HashMap<String, Object> map = new HashMap<>();
        map.put("msg","查询所有成功");
        map.put("state",true);
        return map;
    }   
}

2.重启项目访问接口界面

在这里插入图片描述
在这里插入图片描述


3.Swagger的注解

3.1 @Api

  • 作用: 用来指定接口的描述文字

  • 修饰范围: 用在类上

    @RequestMapping("user")
    @Api(tags = "用户模块接口规范说明")
    public class UserController {
    	....
    }
    

3.2 @ApiOperation

  • 作用: 用来对接口中具体方法做描述

  • 修饰范围: 用在方法上

    @GetMapping("findAll")
    @ApiOperation(value = "查询所有用户接口",
                  notes = "<span style='color:red;'>描述:</span>&nbsp;用来查询所有用户信息的接口")
    public Map<String,Object> findAll(){
      Map<String, Object> map = new HashMap<String,Object>();
      map.put("success","查询所有成功!");
      map.put("state",true);
      return map;
    }
    

    value: 用来对接口的说明

    notes:用来对接口的详细描述

3.3 @ApiImplicitParams

  • 作用: 用来接口的中参数进行说明

  • 修饰范围: 用在方法上

    @ApiImplicitParams({
      @ApiImplicitParam(name="id",value = "用户id",dataType = "String",defaultValue = "21"),
      @ApiImplicitParam(name="name",value = "用户姓名",dataType ="String",defaultValue = "张三")
    })
    public Map<String, Object> save(String id, String name) {
      .....
    }
    

3.4 @ApiResponses

  • 作用:用于请求的方法上,表示一组响应

  • 修饰范围: 用在方法上

    @ApiResponses({
                @ApiResponse(code = 400, message = "请求参数没填好"),
                @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")
    })
    public Map<String, Object> save(String id, String name) {
      .....
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值