使用Django 2.0构建Python Restful Web服务:九)规划和设计Django项目的Restful接口

栏目: 服务器 · 发布时间: 7年前

内容简介:在上一篇文章中,我们开始了一个新的Django项目,并且设计和生成了项目的数据模型。有了数据模型,接下来,我们来规划设计一下我们这个项目的Restful接口。之前我们一共生成了4个数据模型,分别是电影分类、电影、观众和观众评分。所以我们的Restful风格的api接口也是针对于这4个数据模型(资源)进行的设计。在本次项目中,我们使用以下HTTP请求方法来对资源(数据模型)进行操作:

在上一篇文章中,我们开始了一个新的Django项目,并且设计和生成了项目的数据模型。有了数据模型,接下来,我们来规划设计一下我们这个项目的Restful接口。

之前我们一共生成了4个数据模型,分别是电影分类、电影、观众和观众评分。所以我们的Restful风格的api接口也是针对于这4个数据模型(资源)进行的设计。

一、需要使用到的HTTP请求方法

在本次项目中,我们使用以下HTTP请求方法来对资源(数据模型)进行操作:

  • GET请求方法:获取资源;
  • PUT请求方法:新增资源;
  • POST请求方法:更新整个资源;
  • PATCH请求方法:增量更新资源的某个字段;
  • DELETE请求方法:删除资源;
  • OPTION请求方法:获取服务器支持的方法;

二、数据模型的接口规划

电影分类模型的api接口规划

在电影分类模型中,我们约定:

  • 通过GET请求,获取电影分类的集合;
  • 通过GET请求,获取单个电影分类;
  • 通过POST请求,在电影分类集合中新增一个电影分类;
  • 通过PUT请求,更新单个电影分类;
  • 通过PATCH请求,增量更新单个电影分类;
  • 通过DELETE请求,删除单个电影分类;

电影模型的api接口规划

在电影模型中,我们约定:

  • 通过GET请求,获取电影的集合;
  • 通过GET请求,获取单个电影;
  • 通过POST请求,在电影集合中新增一个电影;
  • 通过PUT请求,更新单个电影;
  • 通过PATCH请求,增量更新单个电影;
  • 通过DELETE请求,删除单个电影;

观众模型的api接口规划

在观众模型中,我们约定:

  • 通过GET请求,获取观众的集合;
  • 通过GET请求,获取单个观众;
  • 通过POST请求,在观众集合中新增一个观众;
  • 通过PUT请求,更新单个观众;
  • 通过PATCH请求,增量更新单个观众;
  • 通过DELETE请求,删除单个观众;

电影评分模型的api接口规划

在电影评分模型中,我们约定:

  • 通过GET请求,获取电影评分的集合;
  • 通过GET请求,获取单个电影评分;
  • 通过POST请求,在电影评分集合中新增一个电影评分;
  • 通过PUT请求,更新单个电影评分;
  • 通过PATCH请求,增量更新单个电影评分;
  • 通过DELETE请求,删除单个电影评分;

通过这些规划和约定,我们能够在接下来编写相应资源的接口视图函数的时候能够清晰明了地完成接口的定义。更多内容,我们下一篇文章见。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Blog Design Solutions

Blog Design Solutions

Richard Rutter、Andy Budd、Simon Collison、Chris J Davis、Michael Heilemann、Phil Sherry、David Powers、John Oxton / friendsofED / 2006-2-16 / USD 39.99

Blogging has moved rapidly from being a craze to become a core feature of the Internetfrom individuals sharing their thoughts with the world via online diaries, through fans talking about their favori......一起来看看 《Blog Design Solutions》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换