Swagger 2 & 3 的区别依赖Swagger 2 io.springfox springfox-swagger2...>io.springfox springfox-boot-starter 3.0.0用这种方式更灵活 .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))...authorizations高级特性认证时配置 hidden 配置为 true ,将在文档中隐藏 @ApiOperation:方法的说明...,false:不隐藏; true:隐藏 example 属性的示例值
Swagger 返回的实体,@ApiModelProperty 注解表明几个实体的属性,代码如下(其中 getter/setter 省略不显示): @ApiModel(value = "用户", description...required:如果值为 true,就是必传字段。 defaultValue:参数的默认值。 type:参数的类型。 hidden:如果值为 true,就隐藏这个参数。...required:如果值为 true,就是必传字段。 defaultValue:参数的默认值。 dataType:数据的类型。 hidden:如果值为 true,就隐藏这个参数。...required:如果值为 true,就必须传入这个字段。 hidden:如果值为 true,就隐藏这个字段。 readOnly:如果值为 true,字段就是只读的。...allowEmptyValue:如果为 true,就允许为空值。 到此为止,我们就介绍完了 Swagger 提供的主要注解。
io.springfox springfox-swagger2...swagger还有更多的注解帮助我们完善接口文档。 ?...swagger注解 从源码中可以看到swagger提供了这么多注解,下面我们将常用的几个进行讲解: @Api:注解在controller上,可以有以下参数 // 接口描述 String...; // 示例值 String example() default ""; @ApiModelProperty:注解在model上 // 描述 String value...; // 示例参数 String example() default ""; //允许空置 boolean allowEmptyValue() default false
@ApiModelProperty(value = "主键", required = true, hidden = true) :用对象接收参数时,描述 Model 对象的一个字段,也称为属性。...@ApiModel 和 @ApiModelProperty 。...和 @ApiModelProperty 是作用在 javaBean 上的,可以起解释说明,是否必选,是否隐藏的作用。...层的注解。...因为 PO 中可能存在冗余字段,如果用 PO 来接收参数的话,冗余字段也会在 Swagger ui 页面上显示,用户体验并不好,所以我们用 DTO 来接收请求参数。
可以用SpringFox来整合Spring和Swagger,本文使用的Swagger和SpringFox版本如下: 1 2 3 4 5 6 7 8 9 10 ...> 2.9.2 隐藏指定的接口 使用@ApiIgnore 在想要隐藏的方法上添加@ApiIgnore注解即可,该注解还可以添加在类上和方法参数上...将生成的类作为当前map字段的解析类型,swagger是用的fasterxml来将pojo转化为json的。...)); } // 只有在map类型的字段上使用了ApiModelProperty注解,并使用了notes属性才进行字段的解析 if (annotation.isPresent...字段可以通过@ApiModelProperty的position属性来指定顺序,而接口相关的注解@ApiOperation则不行。
@ApiModelProperty()注解用于方法、字段,表示对model属性的说明或者数据操作更改,以下是它的源码: // IntelliJ API Decompiler stub source...accessMode() default io.swagger.annotations.ApiModelProperty.AccessMode.AUTO; java.lang.String...reference() default ""; boolean allowEmptyValue() default false; io.swagger.annotations.Extension...AUTO, READ_ONLY, READ_WRITE; private AccessMode() { /* compiled code */ } } } 主要字段说明...: value:字段说明, name:重写属性名字, dataType:重写属性类型, required:是否必须,默认false, example:举例, hidden:隐藏。
接口调用界面 点击查看大图 Model 如下图所示,SwaggerUI 会通过我们在实体上使用的 @ApiModel 注解以及@ApiModelProperty 注解来自动补充实体以及其属性的描述和备注...Model 相关注解 @ApiModel: 可设置接口相关实体的描述。 @ApiModelProperty: 可设置实体属性的相关描述。 表 4....@ApiModelProperty 主要属性 注解属性 类型 描述 value String 字段说明。 name String 重写字段名称。 dataType Stirng 重写字段类型。...hidden boolean 是否在文档中隐藏该字段。 allowEmptyValue boolean 是否允许为空。...allowableValues String 该字段允许的值,当我们 API 的某个参数为枚举类型时,使用这个属性就可以清楚地告诉 API 使用者该参数所能允许传入的值。
termsOfServiceUrl("http://www.baidu.com") //这里配置的是服务网站 .build(); } } 3.在controller上面加对应注解...RequestParam String pwd) { return "SUCESS"; } } 4.访问http://localhost:8080/swagger-ui.html 相关注解...:用在JavaBean的属性上面,说明属性的含义 举例 @ApiModel("修改密码所需参数封装类") public class PasswordModel { @ApiModelProperty...io.swagger.core.filter.SwaggerSpecFilter allowMultiple boolean false 指定参数是否可以通过多次出现来接收多个值 hidden boolean false 隐藏参数列表中的参数...value = “”)) 参数示例,仅适用于请求体类型的请求 type String “” 添加覆盖检测到类型的功能 format String “” 添加提供自定义format格式的功能 allowEmptyValue
6.3 Model 如下图所示,SwaggerUI 会通过我们在实体上使用的 @ApiModel 注解以及@ApiModelProperty 注解来自动补充实体以及其属性的描述和备注。 ?...7.3 Model 相关注解 @ApiModel: 可设置接口相关实体的描述。 @ApiModelProperty: 可设置实体属性的相关描述。...注解属性 类型 描述 value String 字段说明。 name String 重写字段名称。 dataType Stirng 重写字段类型。 required boolean 是否必填。...hidden boolean 是否在文档中隐藏该字段。 allowEmptyValue boolean 是否允许为空。...allowableValues String 该字段允许的值,当我们 API 的某个参数为枚举类型时,使用这个属性就可以清楚地告诉 API 使用者该参数所能允许传入的值。
1.这里使用的版本:springfox-swagger2(2.4)springfox-swagger-ui (2.4) 2.这里是说明常用注解的含义和基本用法(也就是说已经对swagger进行集成完成...) 没有集成的请参见 SpringBoot集成springfox-swagger2构建restful API SpringMVC集成springfox-swagger2构建restful API...()用于方法,参数,字段说明; 表示对参数的添加元数据(说明或是否必填等) – @ApiModel()用于类 表示对类进行说明,用于参数用实体类接收 – @ApiModelProperty...value–表示对象名 description–描述 都可省略 @ApiModelProperty()用于方法,字段; 表示对model属性的说明或者数据操作更改 value–字段说明...name–重写属性名字 dataType–重写属性类型 required–是否必填 example–举例说明 hidden–隐藏 @ApiModel(value="user对象",
-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> io.springfox...,一个是@ApiIgnore,它的作用就是隐藏一些接口,如果我们还没有写好,或者不准备暴露出去,我们可以用此注解,另外一个是@ApiModel,它是作用在实体类上面的,我们可以对字段加一些说明,这样在swagger...上就会给出字段的提示,就像下面一样: @Setter @Getter @ApiModel(value = "文章字段", description = "插入文章") public class XcxArticleVO...{ @ApiModelProperty(value = "ID,不填") private int id; @ApiModelProperty(value = "标题,必填")...到这里就结束掉对于Swagger的说明,大家如果有前后端分离的项目,用这种方法对与前端和后端都是很省事。
默认项目的地址是 http://localhost:8080/swagger-ui.html Swagger界面 接口详细说明 点击Try out进行接口测试 Swagger常用注解...用于Model实体类 @ApiModel()用于类 ;表示对类进行说明,用于参数用实体类接收 value–表示对象名 description–描述 都可省略 @ApiModelProperty(...)用于方法,字段; 表示对model属性的说明或者数据操作更改 value–字段说明 name–重写属性名字 dataType–重写属性类型 required–是否必填 example–举例说明...hidden–隐藏 使用方法: @ApiModel(value="员工对象",description="员工对象Employee") public class Employee implements...用于类或者方法上 @ApiIgnore()用于类或者方法上,可以不被swagger显示在页面上 比较简单, 这里不做举例 小结:Swagger提供的注解功能还是很丰富的,但在具体开发中如果全部都要去使用还是挺麻烦的
-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> io.springfox...-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui --> ...@ApiModel注解让实体显示在这里.而是只要出现接口方法的返回值上的实体都会显示,而@ApiModel和@ApiModelProperty这两个注解只是为实体添加注释的。...@ApiModel为类添加注释 @ApiModelProperty为类属性添加注释 常用注解 Swagger注解 简单说明 @Api(tags = “xxx模块说明”) 作用在模块类上 @ApiOperation...= true) 作用在类方法和属性上,hidden设置为true可以隐藏该属性 @ApiParam(“xxx参数说明”) 作用在参数、方法和字段上 总结 通过Swagger给一些比较难理解的属性或者接口
2.Swagger常用注解 在Java类中添加Swagger的注解即可生成Swagger接口,常用Swagger注解如下: @Api:修饰整个类,描述Controller的作用 @ApiOperation...:描述一个类的一个方法,或者说一个接口 @ApiParam:单个参数描述 @ApiModel:用对象来接收参数 @ApiModelProperty:用对象接收参数时,描述对象的一个字段 @ApiResponse...; import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType...ApiModelProperty 对属性注释: @Data public class QueryPageRequest extends RequestData { //站点id @ApiModelProperty...; //页面名称 @ApiModelProperty("页面名称") private String pageName; //页面别名 @ApiModelProperty
springfox-swagger2:这个组件的功能用于帮助我们自动生成描述API的json文件 springfox-swagger-ui:就是将描述API的json文件解析出来,用一种更友好的方式呈现出来...id; //字段添加填充内容 @TableField(fill = FieldFill.INSERT) @ApiModelProperty("创建时间") private...Date updateTime; @Version @ApiModelProperty("版本,用于乐观锁") Integer version; //逻辑删除字段...@TableLogic @ApiModelProperty("逻辑删除字段") private Integer deleted; } ---- 我们同样可以在Controller类和其中的方法上添加相应的注解...@ApiModel(value = "用户对象BO", description = "用户从客户端传入的数据的封装") // @ApiModelProperty: 用对象接收参数时,描述对象的一个字段
io.springfox springfox-swagger2 io.springfox springfox-swagger-ui...extends Annotation> annotation) //// 通过类上的注解扫描,如.withClassAnnotation(Controller.class)只扫描有controller注解的类中的接口...”) 作用在模型类上:如VO、BO @ApiModelProperty(value = “xxx属性说明”,hidden = true) 作用在类方法和属性上,hidden设置为true可以隐藏该属性...@ApiParam(“xxx参数说明”) 作用在参数、方法和字段上,类似@ApiModelProperty 其他皮肤 bootstrap-ui 访问 http://localhost:8081/
,还可以扫描任意位置,指定包以及针对方法上的指定注解 .apis(RequestHandlerSelectors.withClassAnnotation(Api.class...常用注解 Swagger的所有注解定义在io.swagger.annotations包下,下面列一些经常用到的,未列举出来的可以另行查阅说明: Swagger注解 简单说明 @Api(tags =..."xxx模块说明") 作用在模块类上 @ApiOperation("xxx接口说明") 作用在接口方法上 @ApiModel("xxxPOJO说明") 作用在模型类上:如VO、BO @ApiModelProperty...(value = "xxx属性说明",hidden = true) 作用在类方法和属性上,hidden设置为true可以隐藏该属性 @ApiParam("xxx参数说明") 作用在参数、方法和字段上,类似...@ApiModelProperty 6.
用可视化UI展示描述文件。 Swagger Codegen:将OpenAPI规范生成为服务器存根和客户端库。...-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> io.springfox...) @ApiModelProperty:用在属性上,描述响应类的属性 @ApiModelProperty:用在属性上,描述响应类的属性 2、Controller中使用 2.1 @Api( ) @Api...value:名称 description:描述 3.2 @ApiModelProperty() @ApiModelProperty可以用在方法或属性上。...用于当对象作为参数时定义这个字段的内容。 value:描述 name:重写属性名 required:是否是必须的 example:示例内容 hidden:是否隐藏。
-- swagger2 --> io.springfox springfox-swagger2 2.9.2 io.springfox springfox-swagger-ui<...BigDecimal currPrice; @ApiModelProperty(value = "当前时间") private Date currTime; @ApiModelProperty...:单个参数描述 @ApiModel:用对象来接收参数 @ApiProperty:用对象接收参数时,描述对象的一个字段 @ApiResponse:HTTP响应其中1个描述 @ApiResponses:HTTP
@ApiOperation:注解来给API增加方法说明。...Swagger常用注解 在Java类中添加Swagger的注解即可生成Swagger接口文档,常用Swagger注解如下: @Api:修饰整个类,描述Controller的作用 @ApiOperation...:描述一个类的一个方法,或者说一个接口 @ApiParam:单个参数的描述信息 @ApiModel:用对象来接收参数 @ApiModelProperty:用对象接收参数时,描述对象的一个字段...因为Swagger在生成接口文档时,就是根据这里指定的包路径,自动的扫描该包下的@Controller, @RestController, @RequestMapping等SpringMVC的注解,依据这些注解来生成对应的接口文档...6.常用注解 注解 位置 说明 @Api 类 加载Controller类上,表示对类的说明 @ApiModel 类(通常是实体类) 描述实体类的作用 @ApiModelProperty 属性 描述实体类的属性
领取专属 10元无门槛券
手把手带您无忧上云