Django api api / add / 2 / + / 3 vs api / method = add& expression = 2 + 3

时间:2013-05-20 12:04:38

标签: python django

社区接受使用django构建api的方式是什么?使用格式/ xxx / method / whatever或使用类似php的语法?

由于

1 个答案:

答案 0 :(得分:1)

在django中制作API没有具体内容。 REST原则适用于您使用的任何Web框架。

简而言之,有4个主要的HTTP动词:

GET - for listing resources or retrieving details
POST - for creating resources
PUT - for replacing/updating resources
DELETE - for deleting resources

使用GET查询字符串应该用于搜索查询。例如:

  1. Wolfram Alpha使用url编码的字符串查询数学表达式:https://www.wolframalpha.com/input/?i=2%2B3
  2. Google使用网址编码字符串作为搜索查询:https://www.google.com.au/search?q=2%2B3
  3. 如果你的数学表达式创建了新的资源,它们应该在POST主体中发送,通常是url编码的,或者是作为XML的JSON中更复杂的资源。同样,使用PUT进行更新,使用DELETE进行删除。创建/更新/删除所需的资源应由其URL标识。

    如果要支持多种格式(例如XML,JSON)或同一资源的多种语言,则应使用Content Negotiation。此外,强烈建议遵循HATEOAS原则,服务中使用的所有URL都应在服务本身内发现,而不必从单独的文档中推断出来。