我在我的应用中创建了一个新的网址/路由,我需要编写一个网络服务。我需要根据服务中传递的参数编写一个删除用户的服务。现在,任何人都应该可以调用该服务(将在以后阶段使其安全)。应用程序建立在流星上。
我的网址是:loaclhost:3000 / deleteUser。现在应该能够调用我在此页面上定义的删除用户函数,并将json结构数据作为参数传递给它。如果数据有效,则应删除该用户。
使用简单:休息包
Meteor.publish("delUser", function (a, b) {
UserDetails.remove({}); //delete user according to data received
}, {
url: "/testing/delUser", //url where third party will call the function
getArgsFromRequest: function (request) {
// Let's say we want this function to accept a form-encoded request
// with fields named `a` and `b`.
console.log('received : ' + JSON.stringify(request.body) );
var content = request.body;
// Since form enconding doesn't distinguish numbers and strings, we need
// to parse it manually
return [content.a, content.b];
}
})
如何从第三方访问该功能,delUser?我还需要在以后添加身份验证。
答案 0 :(得分:2)
个人,我用这个:
简单:其余
简单:JSON-路由
简单:其余账户密码
我发现它更容易实现。
答案 1 :(得分:1)
最简单的方法是使用restivus包。
https://atmospherejs.com/nimble/restivus
Restivus使得在Meteor 0.9.0+中构建REST API变得前所未有的简单 之前!该软件包的灵感来自RestStop2和Collection API,以及 基于Simple JSON Routes构建,提供:
答案 2 :(得分:1)
甚至铁:路由器附带服务器端路由,您可以在其中构建自己的功能和api呼叫。 http://iron-meteor.github.io/iron-router/#restful-routes
示例(服务器端代码):
Router.map(function () {
this.route("api", {path: "/api/:paramsYouNeed",
where: "server",
action: function(){
this.response.writeHead(200, {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*'
});
if (this.request.method == 'POST') {
var response;
//do whatever you want to do
this.response.end(response);
}
}
});
其他用户可以通过向上述网址发出http.post请求来调用此网址(http:www.a **** a.com/api/params)