使用Django-rest-framework编程实现学生信息查询RESTful API

__弯弓__ 2023-07-06 15:52:42

为什么使用Django-rest-framework来开发RESTful API?

Django 是最流行的Python Web开发框架,本身提供了ORM 数据库封装、模板、视图、路由、权限与鉴权, 管理后台等完整的工具链,各种功能开箱即用。 django-rest-framework (简称DRF) 继承了django框架的上述优点,开发与部署不需要第3方库的支持就可以轻松完成数据库CRUD的 REST API开发,并提供完善的鉴权、分级权限控制、测试页面等功能,可以快速地开发出一套高质量的REST API。

其它的框架,如 Flask,实际应用时,需要集成数据接口库、鉴权、权限管理等第3方库来完成,测试也需要第3方工具支持,在集成配置,代码质量控制上,难度显然增大了,最终投入成本往往反而不及django-rest-framework。当然如果你是有经验的Flask开发人员则另当别论。

本文以学生信息查询功能为例,采用前后端分离架构,要求后端提供RESTFul 接口。

本例要求提供如下查询功能:

  • 列表查询、单条查询
  • 添加学生信息
  • 更改学生信息
  • 删除学生信息

按REST接口指导原则, RESTFul 风格API 设计如下

操作请求类型资源请求url请求数据
列表查询GEThttp://127.0.0.1:8000/student/
单条查询GEThttp://127.0.0.1:8000/student/1/
添加记录POSThttp://127.0.0.1:8000/student/2/{'name':‘Jack', 'no':'A001',...}
更改记录PUThttp://127.0.0.1:8000/student/2/{'name':‘Jack', 'no':'B001',...}
删除记录DELETEhttp://127.0.0.1:8000/student/2/

注意,RESTFul风格url 不需要在 url中添加操作动词,如 http://127.0.0.1:8000/student/list/%E3%80%82 当然这样做也可以,只是推荐方式更简洁。

具体实现代码,请 点击阅读

...全文
160 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

37,983

社区成员

发帖
与我相关
我的任务
社区描述
分享Python数据分析、可视化、机器学习、图像处理有关知识和实例
社区管理员
  • 叶庭云
  • 极客飞兔
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧