superagent 调用java接口,处理http请求

superagent 是一个轻量的,渐进式的ajax api,可读性好,学习曲线低,内部依赖nodejs原生的请求api,适用于nodejs环境下.

想查看具体使用方法可以点击https://github.com/visionmedia/superagent

现把自己使用时的小案例暂时一下

app.post('前台调用接口', function(req, res) {
    var reqdata =req.body;
    var data="";
    request
        .post('java接口')
        .send(前台传的参数)
        .set({ 'API-Key': 'foobar', Accept: 'application/json' })
        .buffer(true)
        .end((err,resule)=>{
            console.log(resule.body);  //接收到的数据
            data=resule.body;
            res.send(data)    //最后返回给前台
        })
});

  

设置头字段

设置头字段非常简单,只需调用.set()方法,传递一个名称和值就行:

request
   .get('/search')
   .set('API-Key', 'foobar')
   .set('Accept', 'application/json')
   .end(callback);

你也可以直接传递一个对象进去,这样一次就可以修改多个头字段:

 request
   .get('/search')
   .set({ 'API-Key': 'foobar', Accept: 'application/json' })
   .end(callback);

  现以Get请求为例

当使用get请求传递查询字符串的时候,用.query()方法,传递一个对象就可以,下面的代码将产生一个/search?query=Manny&range=1..5&order=desc请求:

request
   .get('/search')
   .query({ query: 'Manny' })
   .query({ range: '1..5' })
   .query({ order: 'desc' })
   .end(function(res){

   });

或者传一个单独的大对象

request
  .get('/search')
  .query({ query: 'Manny', range: '1..5', order: 'desc' })
  .end(function(res){

  });

.query()方法也允许传递字符串:

request
    .get('/querystring')
    .query('search=Manny&range=1..5')
    .end(function(res){

    });

或者字符串拼接:

request
    .get('/querystring')
    .query('search=Manny')
    .query('range=1..5')
    .end(function(res){

    });


  

具体可以查阅 https://cnodejs.org/topic/5378720ed6e2d16149fa16bd

  

  

posted @ 2017-07-06 17:51  蜡笔没有小新  阅读(715)  评论(0编辑  收藏  举报