REST和一个字段的验证

时间:2015-06-10 19:44:16

标签: rest

我不是这方面的专家所以请告诉我,如果我离开了:)

我正在尝试定义处理帐户的REST服务。

/Accounts/32  (GET to fetch one)
/Accounts     (GET to fetch all)

等等......

但是,在注册过程中,在创建帐户之前,我想在创建帐户之前验证几个字段,如电子邮件和ssn,async。

我应该怎么做?我只是想知道它们是否存在于一个组合中但我不应该获得资源,因为它不属于我的业务。 :)

做这样的事情有效吗?

/Accounts?ssn=123&email=a@email.com&operation=verifyexistance

由于

// Johan

2 个答案:

答案 0 :(得分:4)

有趣的问题,对我来说,我更愿意做以下事情:

HEAD /accounts?ssn=123&email=a@email.com

如果响应状态代码为200,则服务器上存在资源 如果响应状态代码为404,则资源不可用,您可以继续注册

HEAD方法与GET相同,只是服务器不能在响应中返回消息体。

答案 1 :(得分:2)

我喜欢Anas Salman的回答,建议使用HEAD。这是理想的方法。

但我也认为GET完全没问题。您正在请求获取有关资源的信息(/ accounts集合)。

GET /accounts?ssn=123&email=a@example.org

当/ accounts以此格式查看请求时(提供了SSN和电子邮件地址的GET请求),它有足够的信息知道是否给出了肯定或否定的适当回应。

在查询字符串中添加“operation”动词是示例中唯一的unRESTFUL部分。