RESTful API是否适合创建帐户?

时间:2014-03-25 11:11:40

标签: api rest authentication

我正在创建一个系统,要求用户使用SMS代码进行验证才能创建帐户。系统将有一个RESTful API来访问系统的其他资源,但我想知道帐户创建阶段是否适合RESTful API。我想要实现的高级序列是:

enter image description here

如果我要使用REST原则表达这一点,我将实现如下:

enter image description here

其中RegistrationItem看起来像:

class RegistrationItem
{
    public string SmsCode {get;set;}

    public int RegistrationId {get;set;}

    public string PhoneNumber {get;set;}
}

这看起来是合理的设计还是创建帐户,RESTful API通常不会共存?我注意到我看过的大多数API(facebook,foursquare,twillio)似乎都不支持它。

3 个答案:

答案 0 :(得分:3)

是。 Nelibur可以真正帮助您创建适当的API。

好教程:http://www.codeproject.com/Articles/712689/Building-RESTful-Message-Based-Web-Services-with-W

希望得到这个帮助;

答案 1 :(得分:0)

没有理由不能从RESTful API创建帐户。我可能会以不同的方式命名,但流程看似合理。

既然你问过,我可能会这样做:

POST /registration-requests
-> { "phoneNumber": "555-1212" }

响应会有id。如果你正在努力争取HATEOAS,那么它也应该有一个用于创建用户的URI,作为标题中的链接或作为响应的一部分。然后创建用户

POST /users
-> { "registrationId": 12345, "smsCode": 67890 } 

并使其返回一个新的用户实例。如果可以从浏览器调用这些API,则应强烈考虑使用Post-Redirect-Get模式。

答案 2 :(得分:0)

REST模型获取,创建,更新和删除操作。 Register是一种创建操作。所以,是的REST是合适的 - 除非你有其他一些标准或问题。