我刚刚开始学习如何设计/编写 RESTful API。我有一个一般性问题:
假设我有某种简单的 SQL 数据库,并且正在编写一个 API,允许创建新记录、查看记录、删除记录或更新记录。
假设我要删除一条记录,通常是在URL中传入记录的ID更好,例如/api/delete_record?id=10
,还是这样更好做类似的事情:
/api/record
并让它接受 GET
、POST
、PATCH
和 DELETE
,数据通过请求中的 JSON 正文进行处理。
我使用 Python 中的 Flask 编写了一个小型 API,我所拥有的只是一个 URL:/record
,它接受上述所有 HTTP 方法。它查看请求中的方法并相应地期望 JSON 格式的请求正文。这被认为是好还是坏做法?
如有任何建议,我们将不胜感激。请注意,我对这一切还很陌生。我以前使用过 API,但从未开发过任何 API。谢谢!
最佳答案
删除资源的正确 RESTful 方法是发送 DELETE 请求,并将范围信息放入 URI(而不是正文)中,例如 /api/records?id=10
或 /api/records/10
。方法信息应该位于 HTTP 方法中,而不是 URI 中。
我建议您阅读《RESTful Web 服务》,了解 API 设计的最佳实践。
关于python - API 设计 - JSON 还是 URL 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13365521/