2010-08-04 75 views
1

我是RESTful体系结构的新手,或者至少是新手才能正确使用它我只有过使用SOAP的经验。我遇到了一些问题,包括一些问题。我知道还有其他类似的问题,但没有,我发现,令人满意地回答我的问题。REST风格的应用程序结构

我刚开始这个应用程序,所以我想让它开始正确的方式,我现在看的是一个用户注册屏幕。在提交注册表单之前,我有两个验证呼叫。首先,我有一个验证电话,用于检查用户输入的电子邮件是否唯一,其次是验证电话,用于检查我们提供给客户的访问代码是否存在于数据库中。

我现在有它的结构为POST(我相信这应该是一个GET),我有一个动作的说法,它定义了我想要做的。所以对于电子邮件我有一个参数字符串,如

action=validateemail&[email protected] 

它调用我的MembershipController的用户操作。我完全相信这是错误的,因为我只能用动词GETPOSTPUT,并DELETE但我现在用的动作定义参数我自己的动词。

老实说,我不知道该怎么做。我相信用户应该是我的资源,但可能用于电子邮件验证电子邮件应该是我的资源。我想我所问的是,你将如何做我想做的事情?我知道你们中的一些人可能会说在提交时做了所有的验证,但我更愿意这样做。我希望异步验证以及我在用户提交时执行的验证。

回答

1

我们做类似的事情,我们的资源被称为“帐户”。为了验证,我会为指定的帐户进行GET并验证HTTP返回码。我期望404 - Not Found能让我知道这个建议的帐户不存在。如果他们传递了错误的数据,400 - 错误的请求会告诉你什么是错的。要创建账户,同一资源的POST将会执行。要做更改密码之类的事情,PUT可能是合适的。我认为,如果你已经开始去服务器旅行,那么如果它存在以便为第二次旅行节省开支,你也可以返回这个账户(200-在GET上确定)。