我最近已经开始尝试尽可能地考虑REST,并且我发现自己被非显而易见的路线所困扰.
在这种特殊情况下,我很好奇RESTful方式来检查用户的用户名和电子邮件可用性,或其他任何具有唯一性的方法.
我的直觉告诉我,我会想在执行GET上/users/email或/users/username/每一个需要PARAM,或者说沿着线GET /users/search/与可选PARAMS email和username.如果你得到了200,那么username或者email不可用; 如果你得到了404,那就可以了.
我更喜欢第一种选择,因为它更明确,但是我并不喜欢罗伊菲尔丁的论文,因为我很清楚该怎么做.
什么是最健全的方法?
第一种方法看起来似乎更"RESTful".您尝试获取特定资源(通过用户名或电子邮件)并获取它(如果存在)或获取状态消息"不可用资源".这将是:
这应该产生:
第二个看起来更像是类似"SOAP"的Web服务,您可以使用一些"参数"(用户名,电子邮件)定义"功能"(/ users/search /)...