最近使用springfox(swagger)自动生成api文档时问题心得
2018-06-30 00:29
1066 查看
package io.swagger.models.properties; import com.fasterxml.jackson.annotation.JsonGetter; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonSetter; import io.swagger.models.Xml; import java.util.Map; /**覆盖源swagger中的Property接口,将swagger(io.swagger.models.properties.Property)中接口复制过来,即包路径必须跟源码路径一致,否则无法达到覆盖的效果 * 同时需要修改getRequired()方法,将该方法上的@JsonIgnore注解注释或删除掉即可 * //@JsonIgnore * boolean getRequired(); * @Auther: emmy * @Date: 2018/6/29 22:31 * @Description: */ public interface Property{ Property title(String title); Property description(String description); String getType(); String getFormat(); String getTitle(); void setTitle(String title); String getDescription(); void setDescription(String title); Boolean getAllowEmptyValue(); void setAllowEmptyValue(Boolean value); @JsonIgnore String getName(); void setName(String name); //@JsonIgnore 当我查看swagger源码时发现将此属性给忽略掉了,所以前端不管你后台是否加了此属性最终显示都是根据对象的required来的,这样不利于接口说明 boolean getRequired(); void setRequired(boolean required); @JsonGetter Object getExample(); @JsonSetter void setExample(Object example); //@Deprecated //@JsonIgnore void setExample(String example); Boolean getReadOnly(); void setReadOnly(Boolean readOnly); Integer getPosition(); void setPosition(Integer position); Xml getXml(); void setXml(Xml xml); void setDefault(String _default); @JsonIgnore String getAccess(); @JsonIgnore void setAccess(String access); Map<String, Object> getVendorExtensions(); /** * creates a new instance and renames the property to the given name. * * @return new shallow copy of the property */ Property rename(String newName); }
通过修改以上一行代码,即可实现前端展示时,可以根据属性来显示字段是否必填,这样比较利于api文档阅读,注意这只是在请求参数使用@RequestBody注解标识时才会出现此情况,
很多前端渲染框架如swagger-bootstrap-ui,swagger-ui-layui,springfox-swagger-ui都根据参数类型是body时直接显示的是对象的requird值(因为后台api返回根本没有此属性)
相关文章推荐
- java服务器使用swagger自动生成API文档
- Spring Boot如何让Web API自动生成文档,并解决swagger-annotations的API注解description属性废弃的问题
- 使用 Swagger 自动生成 ASP.NET Core Web API 的文档、在线帮助测试文档(ASP.NET Core Web API 自动生成文档)
- 使用swagger实现在线api文档自动生成 在线测试api接口
- 在Spring中使用Springfox和swagger生成restful风格的API文档
- 使用 Swagger 自动生成 ASP.NET Core Web API 的文档、在线帮助测试文档(ASP.NET Core Web API 自动生成文档)
- vs2010代码注释自动生成api文档(Sandcastle帮助文档生成器使用介绍)
- jsdoc注释规范工具(使用 JSDoc 3 自动生成 JavaScript API 文档)
- Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api
- Spring3 MVC中使用Swagger生成API文档
- Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api
- Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api
- 使用GTK-DOC自动生成API文档
- 浅析如何在Nancy中使用Swagger生成API文档
- Spring MVC中使用Swagger生成API文档
- springmvc集成Swagger自动生成api文档
- 用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档
- api文档自动生成 -swagger ui
- Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api
- 如何使用 Grape-Swagger 生成 API 文档