笔记介绍

  • Web利用前后端拆散构造
  • Web API接口设计的RESTful格调
  • Django REST framework框架

笔记获取的地址为: https://zhuanlan.zhihu.com/p/...

笔记目录:

意识RESTful

在前后端拆散的利用模式里,后端API接口如何定义?

例如对于后端数据库中保留了商品的信息,前端可能须要对商品数据进行增删改查,那相应的每个操作后端都须要提供一个API接口:

  1. POST /add-goods 减少商品
  2. POST /delete-goods 删除商品
  3. POST /update-goods 批改商品
  4. GET /get-goods 查问商品信息

对于接口的申请形式与门路,每个后端开发人员可能都有本人的定义形式,格调迥异。

是否存在一种对立的定义形式,被宽广开发人员承受认可的形式呢?

这就是被广泛采纳的API的RESTful设计格调。

RESTful设计办法

1. 域名

应该尽量将API部署在专用域名之下。

https://api.example.com

如果确定API很简略,不会有进一步扩大,能够思考放在主域名下。

https://example.org/api/

2. 版本(Versioning)

应该将API的版本号放入URL。

http://www.example.com/api/1.0/foohttp://www.example.com/api/1.1/foohttp://www.example.com/ap、/2.0/foo

另一种做法是,将版本号放在HTTP头信息中,但不如放入URL不便和直观。Github采纳这种做法。

因为不同的版本,能够了解成同一种资源的不同表现形式,所以应该采纳同一个URL。版本号能够在HTTP申请头信息的Accept字段中进行辨别(参见Versioning REST Services):

Accept: vnd.example-com.foo+json; version=1.0Accept: vnd.example-com.foo+json; version=1.1Accept: vnd.example-com.foo+json; version=2.0

1. 装置DRF

pip install djangorestframework

2. 增加rest_framework利用

咱们利用在Django框架学习中创立的demo工程,在settings.pyINSTALLED_APPS中增加'rest_framework'。

INSTALLED_APPS = [    ...    'rest_framework',]

接下来就能够应用DRF进行开发了。