swagger的使用与步骤

这篇具有很好参考价值的文章主要介绍了swagger的使用与步骤。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、导入maven工程

首先我们创建一个 Spring Boot 项目,并引入 Swagger3 的核心依赖包,如下:

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-boot-starter</artifactId>
    <version>3.0.0</version>
</dependency>

2、核心配置

接下来我们在启动类上添加两个注解,开启Swagger功能。

//开启swagger
@EnableSwagger2
@EnableOpenApi
@SpringBootApplication
public class SwaggerApplication {

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

}

3、启动项目

接下来让我们可以启动项目,然后在浏览器中输入如下地址:

http://localhost:8085/swagger-ui/index.html

注意,端口是自己tomcat启动时的端口,以自己电脑的为准

4、进入界面

swagger的使用与步骤

5、swagger配置类

package com.swagger.config;

import io.swagger.annotations.Api;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.bind.annotation.RestController;
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 createRestApi(){
        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).groupName("用户组")
            .select() .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
            .paths(PathSelectors.ant("/swagger/**"))
            .build();
    }
    private ApiInfo apiInfo(){
        return new ApiInfoBuilder()
            .title("Api接口文档")
            .description("API描述")
            .version("1.0") .termsOfServiceUrl("https://www.baidu.com") .build(); }


}

6、Controller接口配置

@Api(tags = "用户控制")代表对这个controller的描述

swagger的使用与步骤

@ApiOperation(value = "查询所有用户", notes = "查询所有用户信息")代表对接口的描述

swagger的使用与步骤
package com.swagger.controller;

import com.baomidou.mybatisplus.extension.api.R;
import com.swagger.domain.User;
import com.swagger.service.impl.UserServiceImpl;
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.web.bind.annotation.*;

import java.util.List;

@Api(tags = "用户控制")
@RestController
@RequestMapping("/swagger/user")
@CrossOrigin
@Slf4j
public class UserController {
    @Autowired
    private UserServiceImpl userService;
    @GetMapping("/selectAll")
    @ResponseBody
    @ApiOperation(value = "查询所有用户", notes = "查询所有用户信息")
    public R selectAll(){
        List<User> list = userService.list();
        System.out.println(list);
        return R.ok(list).setCode(200);
    }
    @PostMapping("/save")
    @ApiOperation(value = "新增用户", notes = "新增用户信息")
    public R save(@RequestBody User user){
        return R.ok("success").setCode(200);
    }

    @PutMapping("/update")
    @ApiOperation(value = "修改用户", notes = "修改用户信息")
    public R update(@RequestBody User user){
        return R.ok("success").setCode(200);
    }

    @DeleteMapping("/delete")
    @ApiOperation(value = "删除用户", notes = "删除用户信息")
    public R delete(int id){
        return R.ok("success").setCode(200);
    }

}

7、实体类配置

@ApiModel属性:description:用于描述实体类

@ApiModel(value = "用户实体",description = "用户实体")
swagger的使用与步骤

@ApiModelProperty属性:notes:描述该实体类属性的信息

@ApiModelProperty(notes = "用户Id")

代码演示

package com.swagger.domain;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 用户
 * @TableName pd_auth_user
 */
@TableName(value ="pd_auth_user")
@Data
@ApiModel(value = "用户实体",description = "用户实体")
public class User implements Serializable {
    /**
     * ID
     */
    @ApiModelProperty(notes = "用户Id")
    @TableId(value = "id")
    private Long id;

    /**
     * 账号
     */
    @ApiModelProperty(notes = "账号")
    @TableField(value = "account")
    private String account;

    /**
     * 姓名
     */
    @ApiModelProperty(notes = "姓名")
    @TableField(value = "name")
    private String name;

    /**
     * 组织ID
#c_core_org
     */
    @ApiModelProperty(notes = "组织ID")
    @TableField(value = "org_id")
    private Long org_id;

    /**
     * 岗位ID
#c_core_station
     */
    @ApiModelProperty(notes = "岗位ID")
    @TableField(value = "station_id")
    private Long station_id;

    /**
     * 邮箱
     */
    @ApiModelProperty(notes = "邮箱")
    @TableField(value = "email")
    private String email;

    /**
     * 手机
     */
    @ApiModelProperty(notes = "手机")
    @TableField(value = "mobile")
    private String mobile;

    /**
     * 性别
#Sex{W:女;M:男;N:未知}
     */
    @ApiModelProperty(notes = "性别   W:女;M:男;N:未知")
    @TableField(value = "sex")
    private String sex;

    /**
     * 启用状态 1启用 0禁用
     */
    @ApiModelProperty(notes = "启用状态 1启用 0禁用")
    @TableField(value = "status")
    private Boolean status;

    /**
     * 头像
     */
    @ApiModelProperty(notes = "头像")
    @TableField(value = "avatar")
    private String avatar;

    /**
     * 工作描述
比如:  市长、管理员、局长等等   用于登陆展示
     */
    @ApiModelProperty(notes = "工作描述\n" +
        "比如:  市长、管理员、局长等等   用于登陆展示")
    @TableField(value = "work_describe")
    private String work_describe;

    /**
     * 最后一次输错密码时间
     */
    @ApiModelProperty(notes = "最后一次输错密码时间")
    @TableField(value = "password_error_last_time")
    private Date password_error_last_time;

    /**
     * 密码错误次数
     */
    @ApiModelProperty(notes = "密码错误次数")
    @TableField(value = "password_error_num")
    private Integer password_error_num;

    /**
     * 密码过期时间
     */
    @ApiModelProperty(notes = "密码过期时间")
    @TableField(value = "password_expire_time")
    private Date password_expire_time;

    /**
     * 密码
     */
    @ApiModelProperty(notes = "密码")
    @TableField(value = "password")
    private String password;

    /**
     * 最后登录时间
     */
    @ApiModelProperty(notes = "最后登录时间")
    @TableField(value = "last_login_time")
    private Date last_login_time;

    /**
     * 创建人id
     */
    @ApiModelProperty(notes = "创建人id")
    @TableField(value = "create_user")
    private Long create_user;

    /**
     * 创建时间
     */
    @ApiModelProperty(notes = "创建时间")
    @TableField(value = "create_time",fill = FieldFill.INSERT)
    private Date create_time;

    /**
     * 更新人id
     */
    @ApiModelProperty(notes = "更新人id")
    @TableField(value = "update_user")
    private Long update_user;

    /**
     * 更新时间
     */
    @ApiModelProperty(notes = "更新时间")
    @TableField(value = "update_time",fill = FieldFill.INSERT_UPDATE)
    private Date update_time;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}

swagger显示

swagger的使用与步骤

8、注解文章来源地址https://www.toymoban.com/news/detail-492727.html

swagger的使用与步骤

到了这里,关于swagger的使用与步骤的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Maven(四):Maven的使用——java工程与Web工程

    本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远! 使用 mvn archetype:generate 命令生成 Web 工程时,需要使用一个专门的 archetype 。这个专门生成 Web 工程

    2023年04月19日
    浏览(33)
  • 【Java——maven的使用与idea创建maven项目,导入maven依赖(jar包)】

    1.1、打开maven安装路径下的conf文件夹,找到里面的settings.xml文件,(如果使用的是maven安装程序安装的maven,则settings.xml文件和本地仓库位置在默认位置:C:Userspenglei.m2)将下面的代码复制里面,切记不要放到注释里面 1.2、maven项目全局默认配置jdk版本信息,将下面的代码复制

    2024年02月08日
    浏览(62)
  • 使用Maven创建父子工程

    选择空项目: 设置:项目名称,组件名称,版本号等 创建完成后的工程 因为我们需要设置这个工程为父工程所以不需要src下的所有文件 在pom.xml中设置打包方式: 打包方式使用pom父工程本身不会被打包成可执行的JAR或WAR文件,而是作为一个用于管理和配置子模块的上层项目

    2024年02月09日
    浏览(27)
  • 【使用Maven创建web项目步骤】

    目录 前言 一、Maven是什么? 二、创建项目 三、核心文件配置 1.进行pom.xml文件配置 2.删除已加载的无用配置 3.添加TomCat插件和需要使用的依赖 4.进行web.xml文件配置 四、进行TomCat发布预览 提示:这里可以添加本文要记录的大概内容: 使用idea创建Web项目,连接数据库并使用

    2024年02月09日
    浏览(31)
  • 使用Maven父工程构建spring boot子工程

    注意:子工程引入springboot相关依赖之后子工程才能被解析为springboot模块

    2024年02月11日
    浏览(34)
  • idea使用命令将jar包导入到maven仓库中

    因为今天突然忘了命令,记下来方便以后查看 pom文件的依赖 jar包路径 进入idea中命令窗 输入命令 命令模板

    2024年02月15日
    浏览(28)
  • swagger接口文档导入postman

    第一步:打开接口文档并且打开控制台: 第二步:点击Network,找到api-docs的文件  第三步:将JSON格式的数据保存到本地  第四步:打开Postman,并且点击右上角的Import  第五步:将刚才的JSON格式数据粘贴复制到Raw Text  第六步:点击Continue,执行POSTman的默认选项,并且点击

    2024年02月13日
    浏览(36)
  • AI 大语言模型的提示词工程 Prompt ,以及我们如何使用 Prompt 改善 AI 的思考能力

    1、Prompt 的发展 Prompt 是为了改善 AI 输出质量的一些 关键引导词 Prompt 是有一定的门槛的 但是后面马上 GPT 自己生成 Prompt 就被验证是可行的,且生成的 Prompt 符合人们的预期 为了减少创建和验证有效指令的人工工作量,来自多伦多大学、滑铁卢大学等机构的研究者提出了一种

    2024年02月10日
    浏览(29)
  • Maven编译时,如何忽略swagger注解

    在Javabean中,@ApiModelProperty这种swagger注解,只是为了在开发时生成API文档;     在放到生产环境时,是不需要的。有什么方法,可以在为生产环境编译jar时,忽略这些swagger注解吗? 有知道的大神吗?  请留言,谢谢!

    2024年02月01日
    浏览(25)
  • 使用vscode导入keil工程,开发MCU项目

    刚工作,遇到一个GD32F4的项目,工程代码量很大。使用传统的keil开发,在阅读和编辑代码时十分不方便。使用vscode+Embedded插件,能够解决这个问题。 安装下图红色框内的三个扩展即可(汉化插件可选)。 首先点击“设置工具链” 然后点击Keil MDK 选择keil安装目录下的TOOLS.I

    2024年02月02日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包