API设计 - JSON或URL参数?

时间:2012-11-13 17:21:19

标签: python api flask

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

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

假设我想要删除记录,通常最好传入URL中记录的ID,例如/api/delete_record?id=10,或者更好的做法是:

/api/record并接受GETPOSTPATCHDELETE,并通过请求中的JSON正文处理数据。< / p>

我在Python中使用Flask编写了一个小API,我只有一个URL:/record,它接受​​所有上述HTTP方法。它查看请求中的方法,并相应地期望JSON中的请求体。那被认为是好的还是坏的做法?

任何建议都将不胜感激。请注意,我对这一切仍然很新。我曾经使用过API,但我从未开发过任何API。谢谢!

1 个答案:

答案 0 :(得分:3)

删除资源的正确REST方法是发送DELETE请求,并将范围信息放在URI(不是正文)中,如/api/records?id=10/api/records/10。方法信息应该在HTTP方法中,而不是URI。

我建议您阅读“RESTful Web服务”以了解API设计的最佳实践。