RESTful规范中,隐藏文章应该使用哪种路由?
此题是我遇到的面试题,我没有对其选项进行更改,有可能这个题本身就有问题。
按照RESTful的规范,修改文章的展示隐藏应该使用哪一种路由?
- POST /article/{id}/hidden
- PUT /article/{id}
- PATCH /article/{id}
- PUT /article/{id}/hidden
PATCH /article/{id}/hidden 这个吧
首先这个4个选项中的 URI 均有问题:
以下答案我认为是正确的:
CCCC
这个 PATCH /article/{id}
根据 RESTful API 的设计原则,应该使用 HTTP 请求方法来表示对资源的操作,而不是在 URL 中添加参数或标识符来表示操作类型。因此,在修改文章的展示隐藏状态时,应该使用 PUT 或 PATCH 请求方法,并将需要更新的文章展示隐藏状态等信息放在请求体中,而不是在 URL 中添加 hidden 参数。
例如,可以使用以下的路由:
其中,
:id
表示文章的唯一标识符,PUT 和 PATCH 请求方法的区别在于,PUT 请求需要将整个文章资源替换为新的内容,而 PATCH 请求只需要更新部分字段即可。在请求体中,可以包含需要更新的文章展示隐藏状态等信息,例如:
需要注意的是,在使用 RESTful API 设计时,应该遵循统一接口、资源标识、自描述消息、超媒体等原则,并根据实际情况进行权衡和选择。同时,在设计路由时也需要考虑易用性、可维护性和可扩展性等方面的问题,并进行优化和调整。