zoukankan      html  css  js  c++  java
  • 【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的测试框架。(待续。。。)

  • 相关阅读:
    linux,windows kettle安装方法
    等待事件分类
    分析函数详细例子
    v$session中不同连接方式module,program的区别
    charles Glist发布设置
    charles 发布Glist
    charles 工具菜单总结
    charles 高级批量请求
    charles 批量重复请求/重复发包工具
    charles 重写工具/rewrite Srttings
  • 原文地址:https://www.cnblogs.com/SZLLQ2000/p/5627766.html
Copyright © 2011-2022 走看看