在Ember.js中,如何向REST约定之外的API发出请求?

时间:2013-08-27 03:57:02

标签: ember.js

我想要一个'重置密码'端点,例如GET - >关于API的user/password/reset。在ember.js中映射此请求的最佳方法是什么?为这种请求设置完整的ember.js模型似乎不合适,因为它没有正确的ID并且实际上不是对记录的请求,而是具有成功/失败响应的触发事件。我是否错误地实现了REST约定,还是有其他方法可以执行此操作?

1 个答案:

答案 0 :(得分:2)

您可以使用简单的ember-object来表示密码重置,然后使用基本的ajax。像这样:

App.User.reopenClass({
  resetPassword: function(subreddit) {
    return $.getJSON("user/password/reset").then(
      function(response) {
        console.log('it worked');
        return true;
      },
      function(response) {
        console.log('fail');
        return false;
      }
    );
  }
});

请参阅http://eviltrout.com/2013/03/23/ember-without-data.html

也就是说,这可能是API端点应该改变的迹象。理想情况下,GET请求不应该有副作用,因此不建议使用重置密码的GET。如果您认为重置为password reset request,那么最有意义的重置密码端点是POST - >用户/密码/重置为创建新请求。