APiModel和ApiModelProperty对象注解介绍

@ApiModel()

用于类表示对类进行说明, 用于参数用实体类接收 ,value–表示对象名,description–描述

这种一般用在post创建的时候,使用对象提交这样的场景

@ApiModelProperty()

用于方法,字段; 表示对model属性的说明或者数据操作更改

value–字段说明

name–重写属性名字

dataType–重写属性类型

required–是否必填

example–举例说明

hidden–隐藏

@ApiModel(value = "新增用户请求模型")
@Data  //lombok(必须要写)
public class SaveUserRequest {
    @ApiModelProperty(value = "主键id")
    private int id;
    @ApiModelProperty(value = "名称" ,required = true,example = "mike")
    private  String name;
    @ApiModelProperty(value = "邮箱" ,required = true,example = "126.com")
    private String email;
    private String phone;
新增用户对象接口测试
    @ApiOperation("新增用户")
    @PostMapping("save")
    public JsonData  save(SaveUserRequest saveUserRequest) {  //参数SaveUserRequest
        //返回数据
        return JsonData.buildSuccess();
import org.springframework.web.bind.annotation.*;
   @ApiOperation("新增用户")
    @PostMapping("save")
    public JsonData  save(@RequestBody SaveUserRequest saveUserRequest) {  //参数SaveUserRequest
        //返回数据
        return JsonData.buildSuccess();

二、Swagger3.x响应结果ApiResponse和测试面板

@ApiResponse 描述接口响应

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

import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
@ApiOperation("用户登录")
@PostMapping("login")
@ApiResponses({
       @ApiResponse(responseCode = "302",description = "重定向"),
       @ApiResponse(responseCode = "403",description = "没权限"),
public JsonData login(
        @ApiParam(name = "name", value = "用户名", example = "mike") @RequestParam("name") String name,
        @ApiParam(name = "phone", value = "手机号", example = "110") @RequestParam("phone") String phone
    //返回数据
    return JsonData.buildSuccess();

Try it out|Execute|Response body

三、Swagger3.x和项目整合的注意事项

1)明确接口的Http请求方式:一个接口使用@RequestMapping会生成多个文档

2)线上不要开启接口文档 (修改:swagger.enable=false)

3)考虑团队当下和未来是否可以一直用,没有说百分百好用,缺点和优点都要知道。

一、Swagger3.x对象注解ApiModel讲解APiModel和ApiModelProperty对象注解介绍@ApiModel()用于类表示对类进行说明,用于参数用实体类接收,value–表示对象名,description–描述这种一般用在post创建的时候,使用对象提交这样的场景@ApiModelProperty()用于方法,字段; 表示对model属性的说明或者数据操作更改value–字段说明name–重写属性名字dataType–重写属性类型require 相信无论是前端还是后端开发,都或多或少地被接口文档折磨过。前端经常抱怨后端给的接口文档与实际情况不一致。后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新。其实无论是前端调用后端,还是后端调用后端,都期望有一个好的接口文档。但是这个接口文档对于程序员来说,就跟注释一样,经常会抱怨别人写的代码没有写注释,然而自己写起代码起来,最讨厌的,也是写注释。所以仅仅只通过强制来规范大家是不够的,随着时间推移,版本迭代,接口文档往往很容易就跟不上代码了。 Swagger简介
egg-swagger-ui 配置 Eggjs 是阿里巴巴团队开发的,一个基于 Koajs 的框架,相当于次封装,相比较 Koajs ,并没有那么高的自由度,但 Eggjs 这种带有规范性的开发更适合在企业中使用。 SwaggerRESTFUL 接口的文档在线自动生成工具。 此文档基于Eggjs + egg-swagger-doc 生成RESTFUL 接口供调试使用。 操作系统:支持 macOS,Linux,Windows 运行环境:建议选择 LTS 版本,最低要求 8.x。 本文制作时对应eggjs版本: 2.27.0 ${APP} ├─.vscode ├─app │ ├─contract // 存放对应type参数为body formData的传参值 │ ├─request // 请求参数 │ │ └─ user.ts
基于协作,更懂中国程序员 Apipost不止于API文档、调试、Mock, Apipost=Postman+Swagger+Mock后端、前端、测试同时在线编辑,内容实时同步 1.跟 Postman 的对比 尊重并超越,站在巨人的肩膀上、下一个时代的接力棒 2.多人实时协作 不同协作者在同一项目中实时同步项目数据 3.在线文档 一键生成在线文档,前端查看更方便 4.适用人群 满足不同角色研发人员的工作诉求 5. 还有众多优点 比如学习成本更低、适合国人习惯、快捷文档分享、多人实时协作、调试次数无限、项 目接口无限、Mock次数无限等
Swagger3简介 swagger官网:传送门 swagger是一个Api框架,就是一个工具,就比如我们可以使用postman测试接口一样,swagger主要作用是生成RESTFUL接口的文档并且可以提供功能测试; 可以看一下官方文档简介: What Is Swagger? Swagger allows you to describe the structure of your APIs so that machines can read them. The ability of APIs to des
1.为什么使用Swagger3(OpenAPI3)? swagger官方文档介绍的功能太过复杂,作为一个后端开发,我们往往只需要用它来自动生成接口文档,而Swagger2早就不维护了,因此通过这篇博客找到了springdoc官网 springdoc-openapi Java库有助于使用Spring Boot项目自动生成API文档.springdoc-openapi的工作原理是在运行时检查应用程序,以基于
Swagger作为一款API文档生成工具,虽然功能已经很完善了,但是还是有些不足的地方。偶然发现knife4j弥补了这些不足,赋予了Swagger更多的功能,今天我们来讲下它的使用方法。 knife4j简介 knife4j是springfox-swagger的增强UI实现,为Java开发者在使用Swagger的时候,提供了简洁、强大的接口文档体验。knife4j完全遵循了springfox-swagger中的使用方式,并在此基础上做了增强功能,如果你用过Swagger,你就可以无缝切换到knife4j。.
在 Rest 接口上使用,用作返回值的描述 一个包装器,允许列出多个 ApiResponse,若果你需要描述单个 ApiResponse,你仍然必须使用此注解并将@ApiResponse 包装在一个数组中
如果你的 API 在运行中,你可以在浏览器中访问 `http://[your-api-domain]/swagger` 来查看 Swagger 接口文档。 例如,如果你的 API 的域名是 `api.example.com`,你可以在浏览器中访问 `http://api.example.com/swagger` 来查看 Swagger 接口文档。 如果你的 API 是本地运行的,你可以在浏览器中访问 `http://localhost:[your-api-port]/swagger` 来查看 Swagger 接口文档。 例如,如果你的 API 端口是 `8000`,你可以在浏览器中访问 `http://localhost:8000/swagger` 来查看 Swagger 接口文档。 注意,这些地址是 Swagger 接口文档的默认地址,如果你或者你的团队更改了 Swagger 接口文档的默认地址,你需要使用新的地址来访问 Swagger 接口文档
Spring Boot运行发生异常:Factory method 'dataSource' threw exception; nested exception is org.springframe 49530 Spring+Mybatis 查询所有数据时发生异常:org.apache.ibatis.reflection.ReflectionException: There is no getter for 35897