【nodejs】使用Node.js实现REST Client调用REST API

 

最近在产品中开发基于REST的API接口,结合自己最近对Node.js的研究,想基于它开发一个REST Client做测试之用。

通过初步研究,Node.js开发HTTP Client还是挺方便的。

 

选用Node的理由:

1. 使用完全基于JavaScript的Node测试JSON格式的数据,非常之方便

2. Node有很好的社区支持。(现在GitHub上已成了JavaScript最大的开源社区)

 

By Example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
var http = require( 'http' );
var equal = require( 'assert' ).equal;
 
var username = 'falcon' ;
var password = '' ;
var _auth = 'Basic ' + new Buffer(username + ':' + password).toString( 'base64' )
 
var options = {
     host: 'localhost' ,
     port: 13080,
     path: '/SM/7/rest/1.1/incident_list/' ,
     method: 'GET' ,
     headers:{
         'accept' : '*/*' ,
         'content-type' : "application/atom+xml" ,
         'accept-encoding' : 'gzip, deflate' ,
         'accept-language' : 'en-US,en;q=0.9' ,
         'authorization' : _auth,
         'user-agent' : 'nodejs rest client'
     }
};
 
var req = http.request(options, function (res) {
     console.log( 'STATUS: ' + res.statusCode);
     equal(200, res.statusCode);
     console.log( 'HEADERS: ' + JSON.stringify(res.headers));
 
     res.on( 'data' , function (chunk) {
          console.log( 'BODY: ' + chunk);
     });
});
 
req.on( 'error' , function (e) {
   console.log( 'problem with request: ' + e.message);
});
 
 
req.end();

 

将上述代码保存成RestTest.js,然后在命令行上运行: node RestTest.js 就可以看输出的结果了。

 

上面的代码只是使用Node自带的Assert做Unit Test,如果有兴趣的话,还是引入Jasmine等BDD的测试框架。(待续。。。)

转载于:https://www.cnblogs.com/SZLLQ2000/p/5627766.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值