0

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

谢谢

4

1 回答 1

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 使用 url 编码的字符串进行搜索查询:https ://www.google.com.au/search?q=2%2B3

如果您的数学表达式创建了新资源,它们应该在 POST 正文中发送,通常是 url 编码的,或者对于更复杂的 JSON 作为 XML 资源。同样,使用 PUT 进行更新,使用 DELETE 进行删除。您需要创建/更新/删除的资源应由其 URL 标识。

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

于 2013-05-23T15:00:21.980 回答