我的一个Web服务返回一个人所拥有的项目的ID列表。也就是说,当我获得http://example.com/wsListProjects?user=eric时,我会收到带有项目列表的xml。但是,当我指定user = xxx,谁不存在时,我目前返回404响应?这是回复的正确答案吗?
感谢。
答案 0 :(得分:1)
不存在的用户与未分配任何项目的用户之间是否存在差异(从“程序需要做某事”的角度来看)?如果没有,那么只要在任何一种情况下都返回一个空列表。
如果存在差异,则可能添加一个MessageCode / MessageText字段,如果用户不存在则填写该字段以及空白列表。
在任何一种情况下,我认为404不合适 - 网站存在,而404表示实际网络请求出现问题。
答案 1 :(得分:1)
这真的是一个意见问题。许多Web服务(如Twitter)在有意义时经常使用HTTP返回代码(例如,如果用户凭据错误,则为401 Unauthorized),其他Web服务只返回XML格式的错误对象,而其他人则根本不返回任何内容。这完全取决于你的设计。
答案 2 :(得分:0)
如果用户不能访问该页面,我将返回404。通常,您将返回403(或401),但在某些情况下,404很有意义,因为您希望看起来好像页面甚至不存在。真的取决于具体情况。