python - API 设计 - JSON 还是 URL 参数?

标签 python api flask

我刚刚开始学习如何设计/编写 RESTful API。我有一个一般性问题:

假设我有某种简单的 SQL 数据库,并且正在编写一个 API,允许创建新记录、查看记录、删除记录或更新记录。

假设我要删除一条记录,通常是在URL中传入记录的ID更好,例如/api/delete_record?id=10,还是这样更好做类似的事情:

/api/record 并让它接受 GETPOSTPATCHDELETE,数据通过请求中的 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/

相关文章:

python - Scikit-learn 和 Yellowbrick 给出不同的分数

python - 在 Django 序列化程序中,从上下文(或请求数据)中获取默认字段值

php - google analytics api php,如何访问以某个url开头的所有登陆页面的总 session 数

python - Pyramid 中的多重身份验证策略

php - PayPal结帐困惑的解决方案

python - flask / python 。从上传的文件中获取 mimetype

python - 如何使用 Flask 在 Python 中将数据从服务器发送到客户端?

python - MATLAB 在矩阵中使用方括号、分号和单引号

python - 为什么 PYTHON 中的 SQL 查询中的删除不会提交数据库中的更改?

python - 为什么 scipy 的稀疏求解器给出了错误的答案?