【发布时间】:2016-01-16 17:32:06
【问题描述】:
我开始使用 SailsJS,我发现它很棒而且功能强大。
谁能解释一下如何向 Sails 外部的 API 发送 POST 和 GET 请求,以及我在哪里实际编写此请求?
非常感谢,祝大家 2016 年快乐!!!
编辑:
你好@arcseldon,感谢你一直在帮助我。
我会尝试更好地解释自己,并向您展示我的代码。
我有一个用 php 编写的 API(我认为这不相关),它接受 POST、GET、PUT、DELETE 方法。我使用 Postman 进行测试,一切正常。
我正在尝试在 Sails 中制作一个应用程序,它可以对我的 API 进行 GET 和 POST 请求,但我不知道放置 GET 和 POST 代码的最佳位置在哪里。
在模型中,我已经有以下要求令牌来执行其他请求,并且它可以工作:
gettoken: function (requestnewtoken,tokenresult) {
if(!requestnewtoken) {
tokenresult(global.tokeng);
} else {
request({
headers: {
'User-agent' : 'develop',
'Content-Type' : 'application/x-www-form-urlencoded;charset=UTF-8',
'Content-Length' : '29',
'Authorization' : 'Basic ' + global.idsecret
},
uri: "https://myapi/oauth2/token",
method: "POST",
form: {
grant_type: "client_credentials"
}
}, function(error, response, body) {
var tokenjson = JSON.parse(body);
var token = tokenjson['access_token'];
global.tokeng = token;
tokenresult(token);
});
}
}
然后,我向另一个端点执行 GET 请求,这有效:
listpublicroutes: function(requestnewtoken,cb) {
Model.gettoken(requestnewtoken,function(token) {
request({
headers: {
'Authorization' : 'Bearer ' + token
},
uri: "https://myapi/folder/file.json",
method: "GET",
timeout: 10000,
followRedirect: true,
maxRedirects: 10
}, function(error,response, body) {
if(error || (response.statusCode != 200)) {
Model.listpublicroutes(true,cb);
} else {
cb(null,JSON.parse(body));
}
});
});
}
我怀疑这是否是编写 POST 和 GET 请求的最佳方式,或者它们可能更简单,以及请求是否应该在控制器(或其他任何地方)而不是模型中完成。
你能给我一个 POST 和 GET 请求的例子吗?
非常感谢所有试图理解我的人。
【问题讨论】:
-
您是否正在尝试使用您的 api?如果有,从哪里来?如果你想测试你的 api,你可以使用 curl .. 但如果你是新手,你可以使用 postman,它是一个“测试”请求的工具
-
我打算从 Sails 向我的 API 请求信息。我已经使用 Postman 进行测试,但这不是我想要做的。
-
您的意思是客户端(帆)-提供者(api)架构吗?
标签: sails.js