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