目录结构

1.前言

2.进行实际的一个完整流程操作

2.1.第一步:编写一个用于查询用户数据的视图函数

2.2.第二步:编写对应的一个url匹配规则

2.3.第三步:启动django项目【helloworld】服务

2.4.第四步:通过任一浏览器访问url地址【http://127.0.0.1:8000/search_person_data/】后查看展示数据

2.5.第五步:复制接口返回值去【https://www.json.cn/】进行json数据在线解析和格式化,方便直观查看数据

1.前言

首先,整体的开发思路是:比如一个前端开发人员A和一个后端开发人员B,一起联调一个【查询用户数据】功能,那么前端开发人员A就负责【查询用户数据的页面】的开发,后端开发人员B就负责【查询用户数据的接口】的开发且开发完成且自测通过后提供给前端开发人员A进行联调。

我们要知道,前端开发人员A和后端开发人员B一起开发这个功能的前提都是要严格产品人员编写的需求文档和原型图进行开发的。

所以前端开发人员A在实际开发过程中会要求后端开发人员提供的【查询用户数据的接口】的返回值必须满足这两点:

⑴.必须有返回前端开发人员A需要的所有字段和字段值信息,因为前端开发人员才能拿到这些数据去进行自测确保数据都没遗漏;

⑵.每个字段值的数据结构要满足前端开发人员A的要求,因为前端开发人员A会拿到这样的字段值直接去做相关处理而不需要对字段值的数据结构进行二次处理从而能提高前端开发人员A的开发效率也能提高数据的加载效率。

细节:

①.在django框架里,接口其实就是视图函数,只是称呼不一致而已。

②.后续涉及的前后端接口联调流程,基本按照这样的思路去进行即可。

2.进行实际的一个完整流程操作

2.1.第一步:编写一个用于查询用户数据的视图函数

# 该视图函数的作用:按照不同条件,来获取hello_person表指定的数据。
def search_person(request):
# 进行实际的一个完整流程操作 try:
res = Person.objects.all().values()
res = list(res)
except:
raise("查询语句执行过程中出现报错信息,程序终止执行!") data = {} # 初始化一个空dict,用于存储要返回给前端页面的所有字段和对应字段值,且字段对应字典的key,字段值对应字典的value; if len(res) != 0: # 对查询到的数据做相关判断,从而执行不同的代码分支;
data["result"] = res # 1.第一步:把数据表的相关数据都存储在这个key【result】;
data["code"] = 200 # 2.第二步:把状态码200的值存储在这个key【code】;
data["success"] = True # 3.第三步:把状态success的值存储在这个key【success】;
data["msg"] = "获取数据成功!" # 4.第四步:把信息的值存储在这个key【msg】;
else:
data["result"] = res
data["code"] = 100
data["success"] = False
data["msg"] = "获取不到数据!" return JsonResponse(data,json_dumps_params={"ensure_ascii":False})

2.2.第二步:编写对应的一个url匹配规则

细节:

①.url匹配规则在之前已经配置好了,在之前的博客文章里可以找到对应内容,在这篇博客里不再继续重复写一遍了;

2.3.第三步:启动django项目【helloworld】服务

2.4.第四步:通过任一浏览器访问url地址【http://127.0.0.1:8000/search_person_data/】后查看展示数据

2.5.第五步:复制接口返回值去【https://www.json.cn/】进行json数据在线解析和格式化,方便直观查看数据

{
"result":[
{
"id":9,
"name":"洪景盛150760794",
"age":28
},
{
"id":10,
"name":"洪景盛175166058",
"age":28
},
{
"id":11,
"name":"洪景盛886992327",
"age":43
}
],
"code":200,
"success":true,
"msg":"获取数据成功!"
}

django学习-17.如何提供一个规范的接口返回值的更多相关文章

  1. 【mybatis】mybatis执行一个update方法,返回值为1,但是数据库中数据并未更新,粘贴sql语句直接在数据库执行,等待好久报错:Lock wait timeout exceeded; try restarting transaction

    今天使用mybatis和jpa的过程中,发现这样一个问题: mybatis执行一个update方法,返回值为1,但是数据库中数据并未更新,粘贴sql语句直接在数据库执行,等待好久报错:Lock wai ...

  2. django学习-3.如何编写一个html页面并展示到浏览器,及相关导入错误的解决方案

    1.前言 在django中,视图的概念是:具有相同功能和模板的网页,都可以称为视图.通俗一点来说,就是你平常打开任一浏览器,输入一个地址A后看到浏览器窗口展示出来地址A所对应的页面内容B,页面内容B就 ...

  3. [Python]公司接口返回值规范

    返回值规范 json { "code":200, "message":"" "data":[ { "title ...

  4. Bash脚本编程学习笔记04:测试命令test、状态返回值、位置参数和特殊变量

    我自己接触Linux主要是大学学习的Turbolinux --> 根据<鸟哥的Linux私房菜:基础篇>(第三版) --> 马哥的就业班课程.给我的感觉是这些课程对于bash的 ...

  5. Django实现统一包装接口返回值数据格式

    前言 最近实在太忙了,开始了一个新的项目,为了快速形成产品,我选择了Django来实现后端,然后又拿起了之前我封装了项目脚手架「DjangoStarter」. 由于前段时间我写了不少.NetCore的 ...

  6. Python学习教程(learning Python)--2.3.4Python函数返回值

    本节讨论Python函数返回值问题. Python和C语言一样,也可以在函数结束时返回一个值.但在定义自己的Python函数时,是不需要指定返回值数据类型的,这和Python不关心变量的数据类型是一致 ...

  7. jmeter将上一个接口返回值作为下一个接口的请求参数

    在jmeter中有时候会用到,将上一个接口的返回值作为下一个接口的请求参数 具体操作如下: 1.首先新建一个http请求(右键线程组--添加Sampler--http请求),同时添加好接口相应的请求参 ...

  8. springMVC学习(4)-商品修改(RequestMapping解释、controller返回值)

    一.需求: 操作流程: 1.进入商品查询列表页面 2.点击修改,进入商品修改页面,页面中显示了要修改的商品(从数据库查询) 3.在商品修改页面,修改商品信息,修改后,点击提交 代码: ItemsMap ...

  9. Objective-C学习笔记(二十一)——函数的返回值与參数类型

    我们在之前的博客中涉及到的函数都没有參数,同一时候返回值也为void,即不须要返回值. 可是在以后的开发中.函数返回值和參数是必须涉及到的. 所以如今我们来讨论这个问题.我们还是以People类为例. ...

随机推荐

  1. PowerBI官方文档

    Excel 帮助和学习 - Microsoft 支持https://support.microsoft.com/zh-cn/excel Power Query M 公式语言引用 - PowerQuer ...

  2. Golang之垃圾回收

    本篇主要是参考了: http://legendtkl.com/2017/04/28/golang-gc/ 说是参考,但其实基本上是原封不动. GC算法简介: 1. 引用计数 引用计数的思想非常简单:每 ...

  3. 用鸿蒙开发AI应用(七)触摸屏控制LED

    [小年答谢,新春送礼]免费抽取1000元京东卡+更多新春好礼~查看详情>>> 目录:前言背景知识编译用户程序框架子系统基于AbilityKit开发的Ability总结 前言上一篇,我 ...

  4. Java ArrayList源码分析(含扩容机制等重点问题分析)

    写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项 ...

  5. C# 使用PictureBox实现图片按钮控件

    引言 我们有时候会在程序的文件夹里看见一些图标,而这些图标恰好是作为按钮的背景图片来使用的.鼠标指针在处于不同状态时,有"进入按钮"."按下左键"," ...

  6. 2019牛客暑期多校训练营(第五场)H.subsequence 2(拓扑)

    题意:给你一个字符串的长度n 现在询问了m*(m-1)/2次 每次都可以询问两个字符 然后 会告诉你只留下这两个字符后 字符串的样子 现在问你能不能还原字符串 如果能就输出字符串 否则输出-1 思路: ...

  7. [Golang]-7 定时器和打点器

    目录 定时器 打点器 After()方法 我们常常需要在未来某个时刻运行 Go 代码,或者在某段时间间隔内重复运行. Go 的内置 定时器 和 打点器 特性让这些很容易实现. 定时器 type Tim ...

  8. ELK + Redis 日志收集 & HAProxy

    参考博文:http://www.ttlsa.com/linux/haproxy-log-configuration-syslog/ 引入 Redis 消息队列 Log-file 收集数据到 Redis ...

  9. GO - 高级编程

    https://books.studygolang.com/gopl-zh/ https://chai2010.cn/advanced-go-programming-book/

  10. React Hooks vs React Class vs React Function All In One

    React Hooks vs React Class vs React Function All In One React Component Types React Hooks Component ...