简单的问题我无法找到答案..
如果我有一个REST Web服务,并且我的设计没有使用url参数,我如何指定两个不同的键来返回相同的资源?
我希望的例子(并且已经实施)
/Person/{ID}
它按预期返回一个人.
现在我也想要
/Person/{Name}
它按名称返回一个人.
这是正确的RESTful格式吗?或者它是这样的:
/Person/Name/{Name}
您应该只使用一个URI来引用单个资源.拥有多个URI只会造成混淆.在您的示例中,由于两个人具有相同的名称而引起混淆.那么他们指的是哪个人力资源?
也就是说,您可以将多个URI引用到单个资源,但对于除"真实"URI之外的任何其他内容,您只需使用状态代码将客户端重定向到正确的位置即可301 - Moved Permanently.
就个人而言,我永远不会实现多ID方案或重定向来支持它.选择一个识别方案并坚持下去.您的API用户会感谢您.
您真正需要构建的是查询API,因此请关注如何实现类似/personFinder资源的方式,该资源可以将名称作为参数并/person/{ID}在响应中返回可能多个匹配的URI.
| 归档时间: | 
 | 
| 查看次数: | 2995 次 | 
| 最近记录: |