欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Spring Boot 项目中使用Swagger2的示例

程序员文章站 2023-12-13 19:52:22
本文介绍了spring boot 项目中使用swagger2的示例,分享给大家,具体如下: 添加swagger2依赖 在pom.xml中加入swagger2的依赖...

本文介绍了spring boot 项目中使用swagger2的示例,分享给大家,具体如下:

添加swagger2依赖

在pom.xml中加入swagger2的依赖

<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>

创建swagger2配置类

在application.java同级创建swagger2的配置类swagger2。

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 swagger2 {
  @bean
  public docket createrestapi() {
    return new docket(documentationtype.swagger_2)
        .apiinfo(apiinfo())
        .select()
        .apis(requesthandlerselectors.basepackage("你自己的外部接口包名称"))
        .paths(pathselectors.any())
        .build();
  }

  private apiinfo apiinfo() {
    return new apiinfobuilder()
        .title("词网neo4j restful apis")
        .description("the neo4j restful apis description/")
        .termsofserviceurl("")
        .contact("李庆海")
        .version("5.0")
        .build();
  }
}

添加文档内容

在完成了上述配置后,其实已经可以生产文档内容,但是这样的文档主要针对请求本身,而描述主要来源于函数等命名产生,对用户并不友好,我们通常需要自己增加一些说明来丰富文档内容。

import io.swagger.annotations.api;
import io.swagger.annotations.apioperation;
import io.swagger.annotations.apiparam;
/**
 * 系统用户controller
 * 
 * @author 李庆海
 *
 */
@api(value = "系统用户接口", tags = "系统管理")
@restcontroller
@requestmapping("/v3/edu/users")
public class usercontroller {

  @autowired
  private userservice userservice;

  /**
   * 添加用户,注册
   * 
   * @param loginname
   *      登录账号
   * @param username
   *      用户名称
   * @param password
   *      登录密码
   * @param roleid
   *      用户角色
   * @return
   * @throws resourceexistsexception
   */
  @apioperation(value = "添加用户")
  @postmapping("/")
  public jsonresult create(
      @apiparam(name = "loginname", value = "登录账号", required = true) @requestparam(required = true) @requestbody string loginname,
      @apiparam(name = "username", value = "用户名称", required = true) @requestparam(required = true) @requestbody string username,
      @apiparam(name = "password", value = "登录密码", required = true) @requestparam(required = true) @requestbody string password,
      @apiparam(name = "roleid", value = "用户角色编号", required = true) @requestparam(required = true) @requestbody string roleid)
      throws resourceexistsexception {
    boolean exists = this.userservice.exists(loginname);
    if (exists) {
      throw new resourceexistsexception(loginname);
    }
    user user = userservice.create(loginname, password, username, roleid);
    return new jsonresult(user);
  }
}

查看api

启动spring boot程序,访问:http://localhost:8080/swagger-ui.html

Spring Boot 项目中使用Swagger2的示例

api文档访问与调试

swagger除了查看接口功能外,还提供了调试测试功能,我们可以点击上图中右侧的model schema(黄色区域:它指明了数据结构),此时value中就有了user对象的模板,我们只需要稍适修改,点击下方try it out!按钮,即可完成了一次请求调用!可以通过几个get请求来验证之前的post请求是否正确。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

上一篇:

下一篇: