spring Boot集成swagger

spring Boot集成swagger

Swagger 是一款RESTFUL接口的、基于YAML、JSON语言的文档在线自动生成、代码自动生成的工具。下面介绍使用spring Boot集成swagger。

1、引入依赖
  <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.2.2</version>
        </dependency>
2、开启注解
@EnableEurekaClient
@SpringBootApplication
@EnableSwagger2   //开启注解  (/swagger-ui.html )
public class SpringcloudLoginApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringcloudLoginApplication.class, args);
    }


3、使用
package com.yl.springcloudlogin.controller;

import com.yl.springcloudlogin.entity.request.UserRegisterReq;
import com.yl.springcloudlogin.service.UserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;

/**
 * @Author 向往啊 2457081614@qq.com
 * @Date 2019/07/18 23:33
 * @Version 1.0
 * @package com.yl.springcloudlogin.controller
 */
@Slf4j
@RestController
@RequestMapping(value = "/user")
@Api("用户相关接口")
public class UserController {

    @Autowired
    private UserService userService;


    /**
     *
     * 登录接口
     * @param account
     * @param password
     * @return
     */
    @ApiOperation("用户登录接口")
    @RequestMapping(value = "/login", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
    public String login(@RequestParam("account") String account, @RequestParam("password") String password) {


        return "login sucess";
    }


    @ApiOperation("用户注册接口")
    @RequestMapping(value = "/register", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
    public String register(@RequestBody UserRegisterReq userRegisterReq) {
        userService.registerUser(userRegisterReq);
        return "注册成功";
    }


}

备注:

  • @Api:修饰整个类,描述Controller的作用
  • @ApiOperation:描述一个类的一个方法,或者说一个接口
  • @ApiParam:单个参数描述
  • @ApiModel:用对象来接收参数
  • @ApiProperty:用对象接收参数时,描述对象的一个字段
  • @ApiResponse:HTTP响应其中1个描述
  • @ApiResponses:HTTP响应整体描述
  • @ApiIgnore:使用该注解忽略这个API
  • @ApiError :发生错误返回的信息
  • @ApiImplicitParam:一个请求参数
  • @ApiImplicitParams:多个请求参数
4、访问路径(http://localhost:8080/swagger-ui.html)
### Spring Boot 整合 Swagger 实现 API 文档自动化配置 #### 添加依赖项 为了使 Spring Boot 项目能够支持 Swagger 自动生成 API 文档,在项目的 `pom.xml` 文件中需引入相应的 Maven 依赖: ```xml <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency> ``` 此操作确保了 spring-boot-starter-swagger 成为 Spring Boot 生态系统的一部分,实现了与框架的无缝集成并提供快速开发能力[^1]。 #### 配置Swagger属性 接着定义 Swagger 的基本设置。可以在 application.properties 或者 application.yml 中加入如下配置来定制化 Swagger 行为: 对于 properties 文件: ```properties springdoc.api-docs.path=/v3/api-docs springdoc.swagger-ui.path=/swagger-ui.html ``` 对于 YAML 文件: ```yaml springdoc: api-docs: path: /v3/api-docs swagger-ui: path: /swagger-ui.html ``` 这些路径指定了 OpenAPI 描述文件的位置以及 Swagger UI 访问地址[^2]。 #### 创建Swagger配置类 (可选) 如果希望进一步调整 Swagger 设置,则可以创建一个新的 Java 类用于配置 Swagger 特定选项。下面是一个简单的例子展示如何通过此类启用或禁用某些特性: ```java import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; @Configuration public class SwaggerConfig { @Bean public Docket api() { return new Docket(DocumentationType.OAS_30) .select() .apis(RequestHandlerSelectors.any()) .paths(PathSelectors.any()) .build(); } } ``` 这段代码片段展示了怎样构建一个基于 OAS 3.0 规范的 Docket 对象,并将其应用于整个应用程序中的所有控制器方法上。 完成上述步骤之后,当启动 Spring Boot 应用程序时,就可以通过访问指定 URL 来查看由 Knife4j 提供的增强版 Swagger UI 页面,从而方便地管理和测试 RESTful Web Services 接口。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值