我正在使用 Symfony2 构建 RESTful 服务。
它有一个搜索功能,它返回一个搜索实体,该实体有一个结果数组。
如果用户执行不正确的搜索,我可能需要发送一些不同的消息。因此,我对如何构建响应的想法是:
为了一个好的搜索:
{
"message": "OK",
"search": <insert search object here>
}
和一个糟糕的搜索:
{
"message: "Please double check your search in such and such fashion"
}
本质上,总是发送“消息”但并不总是发送搜索实体,因为如果他们的搜索以某些方式失败,则不会创建一个。
然后,我将始终返回 200 响应,即使他们的搜索条件已关闭。或者,如果没有结果。
这是否与 REST 背后的想法不谋而合,还是我应该将响应更改为 404 或其他什么?
谢谢!