发表于: 2022-06-01 19:35:54
1 438
Spring REST Docs 概述
Spring REST Docs 是基于 jdk1.8 和SpringFramework 5.0.2及以上版本的RESTful 服务文档,
Spring REST Docs是通过将手写xxx.adoc文档与使用spring-mvc-test-framework测试框架编写的测试代码片段相结合的方式,
来最终生成HTML接口文档,记录RESTful服务接口文档,是半自动的。
swagger是什么?
Swagger是一款RESTFUL接口的文档在线自动生成+功能测试功能软件。Swagger是一个规范和完整的框架,
用于生成、描述、调用和可视化RESTful风格的Web服务。
目标是使客户端和文件系统作为服务器以同样的速度来更新文件的方法,参数和模型紧密集成到服务器。
这个解释简单点来讲就是说,swagger是一款可以根据resutful风格生成的生成的接口开发文档,并且支持做测试的一款中间软件。
Spring REST Docs 与 Swagger 的区别
1.swagger是在线文档(传说也可以生成离线的),Spring REST Docs是离线文档
2.swagger是自动生成的,不可修改文档格式样式,Spring REST Docs 是半自动的,生成 的HTML文档样式不满意可以自定义
3.最主要的区别:swagger是对业务代码中有入侵性的,Spring REST docs是不需要修改业务代码的,没有入侵性
JSON-taglib是一个JSP 2.0标记库,用于在JSP代码中呈现JSON(JavaScript Object Notation)数据
(1)JSON对象
JSON:对象标签用于创建JSON对象对象可以根据需要多次嵌套上传上传,json对象包含属性,使用上面描述的JSON:属性标签添加。
(2)JSON属性
JSON:属性标记来呈现JSON属性,可以用该属性标签将属性添加到数据,对象或者数组中进行嵌套使用
添加jetty依赖
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.46.v20220331</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<httpConnector>
<!-- 项目的端口号-->
<port>8080</port>
</httpConnector>
<webAppConfig>
<!-- 路径-->
<contextPath>/test</contextPath>
</webAppConfig>
</configuration>
</plugin>
</plugins>
</build>
使用jetty:run运行:
返回数据:
遇到的问题:Failed startup of context o.e.j.m.p.JettyWebAppContext@57a2ed35{/test
网页报错503
原因:jetty版本过低,换了一个更高的版本依赖,问题解决
CRUD的接口文档格式:
操作 | HTTP 请求 |
---|---|
Index | PUT my_index/_doc/1 { "user":"mike", "commnet":"You Know,for search" }【Type 名称在7.0之后约定都使用 _doc】 |
Create | PUT my_index/_create/2 { "user":"mike", "comment":"You Know,for search" } POST my_index/_doc { "user": "Simon", "comment":"You know,for search" } |
Read | GET my_index/_doc/2 |
Update | POST my_index/_update/1 { "doc": { "user":"mike", "comment":"You know,Elasticsearch" } } |
Delete | DELETE my_index/_doc/1 |
收获:以上
明天计划:用Json Tag-lib 生成假数据
配置好Resin,Tomcat,Jetty的Access.log(不同的WEB服务器的访问日志命名有区别),列出来每一个请求的响应时间,以MS为单位
评论