jersey测试(restful api 一般怎么测试)

本文目录
restful api 一般怎么测试
定义了RestFul Api,必须先做单元测试,确保Api可用,然后再交给别人去调用,这样才能确保工作进度
(1)使用Apache的jmeter测试工具,很方便,可以批量测试Api,
(2) 使用JerseyClient写测试程序。因为我们用的是jersey实现的RestFul。
(3) 使用浏览器插件工具,我用的是火狐的插件RESTClient
(4)使用curl命令行工具。
使用工具测试Api,GET方法还好,如果是POST方法需要指定方法的Headers(数据格式),Body(请求参数),Api的url。
Body请求参数,如何获取呢,在这里我使用了Gson,先用java组织参数对象,然后用Gson将参数对象转化为json串。
Gson gson = new Gson();
String wqtString = gson.toJson(wqt);
System.out.println(wqtString)
举例说明:
我们框架中封装了一个查询参数WebQueryTerm。我获取到它的json串格式为:
{"page":{"number":1,"size":10,"total":0,"sorts":}
其中
page表示分页属性。number当前页,size一页显示多少条数据,
sorts排序:field表示排序字段。type表示排序类型,是desc降序还是asc升序
terms表示查询。field表示查询字段;operator表示是模糊查询Like还是精确查询Equal,value表示你输入的查询值。
美军新核潜艇下水测试
美军新核潜艇下水测试
美国海军弗吉尼亚级核动力攻击潜艇Block IV“新泽西”号(USS New Jersey,SSN 796)已下水测试。该潜艇采用了数十项新技术,显着增强了其隐身性和火力。
美军新核潜艇下水测试
这是亨廷顿英格尔斯工业公司(HII)为美军下水的最新型弗吉尼亚级核潜艇。该潜艇首次进入詹姆斯河进行测试。
据海军科技网4月29日报道,HII在一艘拖船的帮助下,将“新泽西”号驱逐舰移至造船厂的潜艇码头。它现在将进行最终测试、舾装和船员认证。
新型核动力潜艇由HII 的纽波特纽斯造船厂建造。
“实现这一建造里程碑对我们的造船团队来说是一件非常有意义的事情,”该公司负责弗吉尼亚级潜艇建造的副总裁杰森沃德说。
“我们的造船厂和供应商多年来一直努力实现这一关键能力,这将使我们的客户能够继续保持海底优势。”
“我们现在期待着执行我们的水测试计划,并努力实现海上测试,以便我们可以向海军交付。”
据该公司称,USS New Jersey 的工作已完成约92%。
这艘自2016 年开始建造的7800 吨核潜艇采用了数十项最新技术和创新设计,提高了隐身性、机动性和火力,从而显着增强了作战能力。
去年11月,美国海军为其举行了命名仪式。
海军新闻报道称,这艘快速攻击核动力潜艇可用于广泛的沿海和开阔水域任务。它们还能够支持多个任务区域,并以超过25 节的速度连续运行数月。
USS New Jersey 是第23 艘弗吉尼亚级核动力攻击潜艇和第五艘弗吉尼亚级Block IV 潜艇。这些新交付的弗吉尼亚级潜艇将取代美国海军退役的洛杉矶级攻击潜艇。
华盛顿智库约克镇研究所创始人兼总裁赛斯克罗普西(Seth Cropsey)曾在《国会山报》(The Hill)网站上写道,关岛海军基地有四艘洛杉矶级潜艇,珍珠港有四艘。五艘弗吉尼亚级核潜艇和十艘洛杉矶级潜艇。
这些核潜艇对于应对地区挑战至关重要。如果美国卷入太平洋的任何冲突,包括驻扎在当地的美军,关岛将成为轰炸机、潜艇和军队的主要集结地。
如何测试不同国家的vps速度
vultr 的vps相当稳定,并且提供不同国家的vps,包括美国,日本,法国,澳大利亚,德国,荷兰,下面是 vultr 提供的下载地址和测试文件
亚洲国家vps
位置 主机名 下载 测试文件
(Asia) Tokyo, Japan hnd-jp-ping.
vultr
.com 100Mb 1000Mb //日本vps
欧洲国家vps
位置 主机名 下载 测试文件
(EU) Frankfurt, DE fra-de-ping.vultr.com 100Mb 1000Mb //德国vps
(EU) Amsterdam, NL ams-nl-ping.vultr.com 100Mb 1000Mb //荷兰vps
(EU) Paris, France par-fr-ping.vultr.com 100Mb 1000Mb //法国vps
(EU) London, UK lon-gb-ping.vultr.com 100Mb 1000Mb //
英国vps
大洋洲国家vps
位置 主机名 下载 测试文件
(AU) Sydney, Australia syd-au-ping.vultr.com 100Mb 1000Mb //澳大利亚vps
美国vps
位置 主机名 下载 测试文件
Seattle, Washington wa-us-ping.vultr.com 100Mb 1000Mb //西雅图vps
Silicon Valley, California sjo-ca-us-ping.vultr.com 100Mb 1000Mb //加利福利亚硅谷vps
Los Angeles, California lax-ca-us-ping.vultr.com 100Mb 1000Mb //洛杉矶vps
Chicago, Illinois il-us-ping.vultr.com 100Mb 1000Mb //芝加哥vps
New York / New Jersey nj-us-ping.vultr.com 100Mb 1000Mb //纽约vps
Dallas, Texas tx-us-ping.vultr.com 100Mb 1000Mb //德克萨斯州达拉斯vps
Atlanta, Georgia ga-us-ping.vultr.com 100Mb 1000Mb //亚特兰大vps
Miami, Florida fl-us-ping.vultr.com 100Mb 1000Mb //佛罗里达州迈阿密vps
选择你要测试的vps地址,打开vps,使用ping命令测试,我们以日本的为例
C:\Users\usa-vps》ping hnd-jp-ping.vultr.com
正在 Ping hnd-jp-ping.vultr.com 具有 32 字节的数据:
来自 108.61.201.151 的回复: 字节=32 时间=106ms TTL=45
来自 108.61.201.151 的回复: 字节=32 时间=105ms TTL=45
来自 108.61.201.151 的回复: 字节=32 时间=106ms TTL=45
来自 108.61.201.151 的回复: 字节=32 时间=106ms TTL=45
108.61.201.151 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 105ms,最长 = 106ms,平均 = 105ms
***隐藏网址***
你也可以安装使用wget来测试,这个是在美国的vps测试日本vps的速度的结果:
***隐藏网址***
***隐藏网址***
Resolving hnd-jp-ping.vultr.com… 108.61.201.151
Connecting to hnd-jp-ping.vultr.com|108.61.201.151|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 104857600 (100M)
Saving to: `vultr.com.100MB.bin’
100% 104,857,600 8.40M/s in 19s
2015-02-02 21:43:22 (5.34 MB/s) – `vultr.com.100MB.bin’ saved
我们看到在 美国vps 下载日本vps100m的文件传输速率是每秒5.34兆。耗时19秒,这个速度证明美国与日本之间的网速还是很不错的。
更改不同地点的,只需要更改不同国家vps的网址就可以了。
Jersey 2.x集成Spring,怎么做单元测试
这里介绍另一个方法,利用“内存中的容器”来调试,就是我们不用打包并扔到tomcat中,自己在IDE中,用Unit Test的方法来测试。
1. Jersey的测试框架支持的容器很多,这里选用了常用的grizzly2
在项目的pom.xml中,引入依赖:
《dependency》
《groupId》org.glassfish.jersey.test-framework《/groupId》
《artifactId》jersey-test-framework-core《/artifactId》
《version》${jersey.version}《/version》
《scope》test《/scope》
《/dependency》
《dependency》
《groupId》org.glassfish.jersey.test-framework.providers《/groupId》
《artifactId》jersey-test-framework-provider-grizzly2《/artifactId》
《version》${jersey.version}《/version》
《scope》test《/scope》
《/dependency》
2. 写Jersey的Resource文件
@Path("my/jersey")
public class TestResource{
@Autowired
protected SystemManager systemManager; //这由spring注入
@GET
@Path("/test")
public String test(@QueryParam("systemId") Integer systemId) {
return "test";
}
}
3. 书写SystemManager和SystemManagerImpl
略
4. 把manager配置到Spring Application.xml中
略
5. 书写Jersey Application
@Path("webapi")
public class TestApplication extends ResourceConfig {
public TestApplication(){
register(RequestContextFilter.class);
register(TestResource.class);
}
}
6. 书写Unit Test文件
public class MyRestTest extends JerseyTest {
@Override
protected Application configure() {
ResourceConfig rc = new MyApplication()
.register(SpringLifecycleListener.class)
.register(RequestContextFilter.class);
enable(TestProperties.LOG_TRAFFIC);
enable(TestProperties.DUMP_ENTITY);
return configure(rc);
}
@Override
protected ResourceConfig configure(ResourceConfig rc) {
rc.property("contextConfigLocation", "spring.xml");
return rc;
}
@Test
public void test(){
final String hello = target("my/jersey/test")
.queryParam("systemId", 1)
.request()
.get(String.class);
System.out.println("==========\n" + hello);
}
}
7. 运行test(),即可看到结果。

更多文章:
form表单制作(为什么制作的form表单会在网页显示中多出一行)
2026年10月11日 09:10
teammate(teammate,company,partner)
2026年10月11日 06:10
javascript arraybuffer(javascript可以把base64编码转换成二进制代码吗求示例代码!)
2026年10月11日 04:00
text函数公式(excel中round和text函数的区别是什么)
2026年10月11日 03:50
google chrome打不开(chrome浏览器打不开怎么回事 浏览器打不开的处理方法)
2026年10月11日 02:00
websocket整合springboot(Springboot整合Websocket遇到的坑)
2026年10月11日 01:40
drawerlayout(android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕)
2026年10月10日 19:20
xor四位数怎么运算(单片机怎样用C语言实现4个数字间的异或)
2026年10月10日 17:50



