【问题标题】:RESTful Application StructureRESTful 应用结构
【发布时间】:2011-03-25 10:56:39
【问题描述】:

我是 RESTful 架构的新手,或者至少是正确使用它的新手,我只有真正的 SOAP 经验。我在处理某些事情时遇到了问题。我知道还有其他类似但没有的问题,我发现,满意地回答我的问题。

我刚刚启动这个应用程序,所以我想以正确的方式启动它,我现在看到的是一个用户注册屏幕。我什至在提交注册表之前发生了两次验证调用。首先我有一个验证调用来检查以确保用户输入的电子邮件是唯一的,其次我有一个验证调用来检查我们提供给客户的访问代码是否存在于数据库中。

我目前将其结构化为 POST(我认为应该是 GET),并且我有一个操作参数来定义我想要做什么。所以对于电子邮件,我有一个参数字符串,例如

action=validateemail&value=email@email.com

它正在调用我的 MembershipController 的用户操作。我完全确定这是错误的,因为我应该只使用动词 GETPOSTPUTDELETE > 但是我正在使用 action 参数定义我自己的动词。

老实说,我不知道该怎么做。我相信用户应该是我的资源,但可能对于电子邮件验证电子邮件应该是我的资源。我想我要问的是你会怎么做我想做的事?我知道你们中的一些人可能会说在提交时做所有的验证,但我更喜欢两种方式都做。我想要异步验证以及用户提交时将执行的验证。

【问题讨论】:

    标签: asp.net-mvc architecture rest


    【解决方案1】:

    我们做类似的事情,我们的资源称为“帐户”。对于验证,我将为指定的帐户执行 GET 并验证 HTTP 返回代码。我希望 404 - Not Found 让我知道建议的帐户不存在。如果他们传入损坏的数据,则 400 - Bad Request 会告诉您有问题。要创建帐户,可以使用相同资源的 POST。要执行更改密码之类的操作,PUT 可能是合适的。我认为,如果您已经在服务器上进行了一次旅行,那么您最好返回帐户(200 - GET 上的 OK),如果它存在的话,以节省您的第二次旅行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-06
      • 2018-11-03
      • 1970-01-01
      • 2013-12-01
      • 2015-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多