我今天与同事讨论过使用REST URL中的查询字符串.拿这两个例子:
1. http://localhost/findbyproductcode/4xxheua
2. http://localhost/findbyproductcode?productcode=4xxheua
Run Code Online (Sandbox Code Playgroud)
我的立场是应该按照示例1设计URL.这更清晰,我认为在REST中是正确的.在我看来,如果产品代码不存在则从示例1返回404错误是完全正确的,而示例2返回404将是错误的,因为页面应该存在.他的立场是,它并不重要,他们都做同样的事情.
由于我们都没有找到具体的证据(诚然,我的搜索并不广泛),我想知道其他人对此的看法.
像GetEmployees这样的mvc web api调用会搜索员工对象列表但却找不到.这不是错误条件,因为在业务环境中可以接受列表可以为空.
搜索没有失败,它只是没有找到任何东西.
形成响应的最佳方式是什么?我是不是该