在WEB应用的开发过程中,为了实现前后端分离使得前后端能分别独立进行开发工作,一套好的API至关重要。而Restful API就是现在非常流行的一种API设计方法。下面谈谈Restful API的一些概念以及Restful API在Django中的实现。
浅析Rest(Representational State Transfer)
要高效正确地编写出Restful API,首先需要对Rest有一个了解。Rest是Representational State Transfer的缩写,是一组以网络为基础的应用软件的架构的原则。满足了这些原则的应用程序或者设计就是Restful的。在谈到Rest时,往往会遇到这么一些概念:资源(Resource)、表现层(Representation)、状态转移(State Transfer)。对这些概念有一个认识会使对Rest的理解变得更加容易。下面将分别简述这些概念。
1. 资源(Resource):网络上的一个可引用的对象。它可以是一个实体(一部电影、一个影院),也可以是一个抽象的概念。你可以用一个URI(统一资源定位符)指向它,每种资源对应一个特定的URI。要获取这个资源,访问它的URI就可以,因此URI就成了每一个资源的地址或独一无二的识别符。
2. 表现层(Representation):资源的表现形式可称为表现层。URI只是标识了资源,但无法表达资源的表现形式。另一方面,在客户与服务器之间传递数据时必须以某种表现形式表达数据。这种表达形式可以使JSON或各种文件格式,甚至是二进制流。一般来讲,资源的表现层会在HTTP请求的头信息中用Accept和Content-Type字段指定。<