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