当前位置: 首页 > news >正文

北京免费网站建设网站规划与设计

北京免费网站建设,网站规划与设计,wordpress 今日头条,关于公司做网站供比价报告2019独角兽企业重金招聘Python工程师标准>>> smart-doc从8月份底开始开源发布到目前为止已经迭代了几个版本。在这里非常感谢那些敢于用smart-doc去做尝试并积极提出建议的社区用户。因此决定在本博客中重要说明下smart-doc的功能,包括使用介绍。以减少后…

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

smart-doc从8月份底开始开源发布到目前为止已经迭代了几个版本。在这里非常感谢那些敢于用smart-doc去做尝试并积极提出建议的社区用户。因此决定在本博客中重要说明下smart-doc的功能,包括使用介绍。以减少后期用户使用中的一些疑惑。

一、简介

关于 smart-doc在我的《关于java web restful api文档的重新探索》博客已经介绍过,这里不再赘述,一些常用的也有介绍。下面将直接介绍smart-doc提供的一些特殊功能。

二、特殊功能介绍

2.1 JSR303支持

在当前许多的web项目中,我们都会直接使用JSR303来验证参数的合法性包括检验参数是否为必须参数等,smart-doc本身是为了帮助开发人员少去写一些无用的东西,整合标准的开发规范去帮助快速的生成文档。因此smart-doc自诞生那一刻起就已经支持JRS303验证规范。只要你写在字段上加了JSR303的验证注解或者是hibernate-validate的注解。smart-doc在输出请求参数文档时自动填写参数必填为true。请看代码片段:

public class Leader {
/**
* 姓名
*/
@NotEmpty
@Length(max = 5)
private String name;
/**
* 生日
*/
@NotBlank(message = "生日不能为空")
@Pattern(regexp = "^[0-9]{4}-[0-9]{2}-[0-9]{2}$", message = "出生日期格式不正确")
private String birthday;
/**
* 年龄
*/
@Min(value = 0)
private Integer age;
/**
* 科目
*/
@Valid
@NotNull(message = "")
private Subject subject;
}

参数请求文档:

ParameterTypeDescriptionRequired
namestring姓名true
birthdaystring生日true
ageint年龄false
subjectobject科目true
└─subjectNamestring科目名称true

2.2 响应字段忽略

smart-doc能够自动解析fastjson和jackson的忽略字段注解正确输出到文档中。这个比较简单就不详细介绍了。

2.3 json数据响应字段别名识别

smart-doc能够解析fastjson的JSONField注解的name属性值和spring boot原始的jackson的JsonProperty注解value属性值来自动完成别名输出。做过json字段忽略都知道,这里简单介绍。

public class SubUser {/*** 用户名称*/private String subUserName;/****/private BigInteger numbers;/*** 身份证*/@JSONField(name = "id_card")private String idCard;
}

Response-fields:

FieldTypeDescription
subUserNamestring用户名称
numbersnumberNo comments found.
id_cardstring身份证

Response-example:

{"subUserName":"黎昕.郑","numbers":gzc1l6,"id_card":"370809198201092228"
}

2.4 请求参数忽略

开发中有时候我们可能有时候会直接使用数据库的对象模型去直接接收参数,但是像createTime、updateTime这样的字段我们是不希望输出到请求参数接口文档中。对于返回数据来说,其实比较好处理,smart-doc本身能够识别fastjson和jackson的字段忽略注解来过滤掉。对请求参数来说针对这种都没有好的解决,很多文档工具是通过添加注解,smart-doc经过使用频率和遵循不引入注解的原则,添加一个注释tag来提供请求参数过滤,这个注释tag定义为ignore。 注意:该功能在1.5版本才会有。

public class SubUser {/*** 用户名称*/private String subUserName;/*** 身份证*/private String idCard;/*** 性别* @required*/private int gender;/***  创建时间*  @ignore*/private Timestamp createTime;}

在Controller层用SubUser作为参数接收,smart-doc输出的参数请求文档:

ParameterTypeDescriptionRequired
subUserNamestring用户名称false
numbersnumberNo comments found.false
idCardstring身份证false
genderint性别true

2.5 参数自动模拟值生成

smart-doc为了尽量减少开发人员和测试人员造参数值的时间,针对常见的字段类型和常用字段命名规则提供自动造参数值的功能。下面直接看用例:

public class SubUser {/*** 姓名*/private String name;/*** 年龄*/private int age;/*** 身份证*/@JSONField(name = "id_card")private String idCard;/*** 性别(0,1)**/private int gender;/*** 电子邮件*/private String email;/*** 手机号*/private String phone;/***  创建时间*  @ignore*/private Timestamp createTime;
}

下面是smart-doc自定生成文档中响应数据,这个数据全部依赖源码来推导完成。

Response-fields:

FieldTypeDescription
namestring姓名
ageint年龄
id_cardstring身份证
genderint性别(0,1)
emailstring电子邮件
phonestring手机号
createTimeobject创建时间

Response-example:

{"name":"明轩.石","age":59,"id_card":"350308197203301780","gender":0,"email":"聪健.邱@gmail.com","phone":"17664304058","createTime":"2018-10-23 00:20:19"
}

2.6 添加文档变更记录

在1.7版本开始,smart-doc添加了文档变更记录的记录功能,生成的文档更加符合实际的文档交互场景。该功能需要在选择使用allInOne设置的时候才生效。 使用方式如下:

ApiConfig config = new ApiConfig();
config.setServerUrl("http://localhost:8080");
config.setAllInOne(true);
config.setOutPath("d:\\md2");
//不指定SourcePaths默认加载代码为项目src/main/java下的
config.setSourcePaths(SourcePath.path().setDesc("本项目代码").setPath("src/main/java")
);//非必须项,只有当setAllInOne设置为true时文档变更记录才生效,//https://gitee.com/sunyurepository/ApplicationPower/issues/IPS4O
config.setRevisionLogs(RevisionLog.getLog().setRevisionTime("2018/12/15").setAuthor("chen").setRemarks("测试").setStatus("创建").setVersion("V1.0"),RevisionLog.getLog().setRevisionTime("2018/12/16").setAuthor("chen2").setRemarks("测试2").setStatus("修改").setVersion("V2.0")
);

变更记录在文档头部,markdown样式如下

版本时间状态作者备注
V1.02018/12/15创建chen测试
V2.02018/12/16修改chen2测试2

转载于:https://my.oschina.net/u/1760791/blog/2250962

http://www.lbrq.cn/news/2426707.html

相关文章:

  • 网站目录结构设计应注意的问题常德网站优化公司
  • 深圳中小型网站建设公司最好的推广平台是什么软件
  • 荆州市做网站的play商店
  • 100款软件app免费下载大全站群seo
  • 一个域名一个ip做多个网站电商网站排名
  • wordpress漫画站主题西安网站建设制作公司
  • wordpress 内容编码错误哈尔滨企业网站seo
  • 公司注册资金可以乱写吗武汉seo招聘信息
  • 简单动态网页制作代码关键词优化心得
  • 怎样在网站图片做超级链接百度精准引流推广
  • 金融网站建设公司排名dsp投放方式
  • 设计网络网站建设百度搜索引擎收录
  • 山东一级造价师考试时间南宁seo多少钱报价
  • 做科学实验的网站谷歌官方app下载
  • 湖南住房和城乡建设厅网站免费培训课程
  • 站长之家 网站模板百度企业推广
  • 基于h5的个人网站建设推广关键词优化
  • 网络品牌网站建设行业关键词
  • 百度网站推广关键词怎么查合肥网站关键词优化公司
  • 怎么做类似美团的网站吗免费发帖推广网站
  • 做网站什么商品好百度官方
  • 邢台网站建设信息危机公关处理五大原则
  • 中文网站模板免费下载企业培训系统
  • 做建网站百度竞价推广计划
  • 廊坊百度推广电话长安seo排名优化培训
  • myeclipse做网站长春seo
  • 做网站用图片算侵犯著作权吗网站seo顾问
  • 张家港江阴网站设计免费建网站最新视频教程
  • 网站建设找工作宁波网络营销怎么做
  • 网站备案怎么弄中山谷歌推广
  • 大数据之Hive:Hive中week相关的几个函数
  • Custom SRP - Draw Calls
  • JavaScript AJAX 实现,演示如何将 Token 添加到 Authorization
  • 【每日算法】专题四_前缀和
  • 【Go语言-Day 22】解耦与多态的基石:深入理解 Go 接口 (Interface) 的核心概念
  • MybatisPlus-14.扩展功能-DB静态工具-练习