我是RESTful架构的新手,或者至少是正确使用它的新手我只有真正的SOAP经验。我有一个问题包围我的头围绕一些事情。我知道还有其他类似但没有的问题,我已经找到了,令人满意地回答了我的问题。
我刚刚启动这个应用程序,所以我想以正确的方式启动它,我现在看的是用户注册屏幕。我在注册表单提交之前有两个验证调用。首先,我有一个验证调用,检查以确保用户输入的电子邮件是唯一的,然后我有一个验证调用,检查以确保我们提供给客户的访问代码存在于数据库中。
我目前将其结构化为 POST (我认为应该是 GET )并且我有一个动作参数来定义我想要做的事情。所以对于电子邮件,我有一个参数字符串,如
action=validateemail&value=email@email.com
它正在调用MembershipController的User操作。我完全相信这是错的,因为我应该只使用动词 GET , POST , PUT 和删除然而我正在使用action参数定义自己的动词。
老实说,我不知道该怎么做。我相信用户应该是我的资源,但可能是电子邮件验证电子邮件应该是我的资源。我想我问的是你会怎样做我想做的事情?我知道你们中的一些人可能只是说在提交时做了所有的验证,但我更愿意两种方式都这样做。我想进行异步验证以及用户提交时将执行的验证。
答案 0 :(得分:1)
我们做类似的事情,我们的资源称为“帐户”。对于验证,我将为指定的帐户执行GET并验证HTTP返回代码。我希望404 - Not Found让我知道提议的帐户不存在。如果他们传递了错误的数据400-Bad Request会告诉你出了什么问题。要创建帐户,可以执行相同资源的POST。要做一些像更改密码的事情,PUT可能是合适的。我想如果你已经去了服务器,你也可以退回帐户(如果它存在200 - 确认),如果它存在以节省第二次旅行。