8-2 开发接口 (入参是json格式)
1、开发入参事json格式的接口
import json
import tools
import flask
from .check_session import check_session
server = flask.Flask(__name__) @server.route('/api/add_stu',methods=['post'])
def add_stu():
"""
添加学生信息接口
:return: 返回添加的学生信息
"""
if flask.request.is_json: # 首先需要判断入参是否是json格式的
# 从外界获取到输入的值,必填参数
session_id = flask.request.json.get('session_id')
name= flask.request.json.get('name')
phone = flask.request.json.get('phone')
grade = flask.request.json.get('grade')
# 从外界获取到输入的值,非必填,用户请求不传时设置默认值
addr = flask.request.json.get('addr','北京')
sex = flask.request.json.get('sex','男')
age = flask.request.json.get('age',18)
gold = flask.request.json.get('gold',1000)
# 判断session_id name phone grade是否为空
if session_id and name and phone and grade: # 都必填的操作
# 定义两个变量来接收 判断session_id是否有效函数中返回的值
login_tag , data = check_session(session_id)
if login_tag: # session_id 有效
# 插入sql
insert_sql="insert into `jxz`.`app_student` ( `name`, `sex`," \
" `age`, `addr`, `grade`, `phone`, `gold`)" \
" values ( '%s', '%s', '%s', '%s', '%s', '%s', '%s');"%(name,sex,age,addr,grade,phone,gold)
tools.my_db(insert_sql) # 调用tools下的my_db函数,执行sql
res = {'code':0,'msg':'学生信息添加成功'} # 接口返回的类型都是json类型的
else: # session_过期了,返回session_id
res = data else: # 必填参数没有填时给出提示信息:必填参数未填
res = {'code':3,'msg':'必填参数未填,请查看接口文档!'}
else: # 判断入参不是json格式的,提示入参是json格式
res = {'code':5,'msg':'入参是json类型的!'}
return json.dumps(res, ensure_ascii=False) # 将返回的结果转换成json
8-2 开发接口 (入参是json格式)的更多相关文章
- RobotFramework:发现一个大坑,当post接口入参为json时,千万不能用sojson转化后的json串(ride解析会有异常,非sojson工具问题),直接用浏览器粘过来的就行
问题背景: 和以往一样愉快的进行着自动化测试,突然就不停的提示我,“程序异常”,查看log发现data中的json变为了数组?????? 那算了,我不先组装入参数据直接data=json入参吧,wha ...
- 入参为json类型的接口测试示例
一.接口文档内容 二.使用postman(入参为json类型) 如下部分内容即是json串: { "name":"刘星", "grade": ...
- springboot项目中接口入参的简单校验
.katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...
- list对象数组,xpath复杂定位校验,POST入参为number数组,POST入参为JSON对象数组
list对象数组: POST入参为number数组: { "typeIds":[1,2,3]} POST入参为JSON对象数组,举例: [{ "itemId& ...
- Spring AOP 自定义注解获取http接口及WebService接口入参和出参
注解方法实现过程中可以采用如下获取方式:—以下为例 HttpServletRequest request = ((ServletRequestAttributes) RequestContextHo ...
- Asp.Net WebAPI配置接口返回数据类型为Json格式
Asp.Net WebAPI配置接口返回数据类型为Json格式 一.默认情况下WebApi 对于没有指定请求数据类型类型的请求,返回数据类型为Xml格式 例如:从浏览器直接输入地址,或者默认的XM ...
- java接口入参模板化,适用于企业化服务远程调度模板化的场景,接口入参实现高度可配置化
需求:远程服务接口模板化配置提供接入服务 模板接口分为三个模块:功能路由.参数校验.模板入库 路由:这里的实现方式很简单,就是根据业务标识找到对应的处理方法 参数校验: 参数校验这步涉及模板和校验类两 ...
- (一)将mockjs集成到VUE中后,怎样根据接口入参返回mock结果
1)安装mockjs,这一步跳过 2)在项目中建立mock模块,笔者的目录结构如下 mock模块与接口模块一一对应,有一个接口,就有一个mock 3)编写登陆模块mock接口,代码如下: import ...
- jmeter- Java-POST接口使用get与json格式传参
在测试过程中发现各种接口传参形式,今天就来说说小编遇到的一种,接口请求方式为POST:URL传参以GET形式并携带JSON 可能这样诉说有不少同学不太理解. 如图: 上图所示就是一般get请求传参格式 ...
随机推荐
- 动态配置log4j2.xml日志输出文件的位置
目标:根据启动jar时传进main()的参数动态修改日志位置 一.修改启动项 MainMapLookup.setMainArguments(args);注:不要在lookup设置之前初始化log(如: ...
- 使用js调用摄像头拍照
在一些浏览器里已经可以使用web api调用摄像头功能了. 基于此可以经行拍照摄像功能,网上找了些资料,然后实现了简单的拍照功能 演示地址 bingxl.cn/webrtc.html 代码 <! ...
- js对象动态赋值
<view class="movies-template"> <template is="movieListTemplate" data=&q ...
- C#本期本周的算法
C#根据当前时间获取,本周,本月,本季度等时间段 DateTime dt = DateTime.Now; //当前时间 DateTime startWeek = dt.AddDays( - Conve ...
- 翻String.Format源码发现的新东西:StringBuilderCache
起因: 记不清楚今天是为毛点想F12看String.Format的实现源码了,反正就看到了下图的鸟东西: 瞬间石化有没有,StringBuilder还能这么获取? 研究StringBuilderCac ...
- Hibernate课程 初探多对多映射2-4 测试
package com.ddwei.test; import org.hibernate.Session; import org.hibernate.Transaction; import com.d ...
- Redis数据类型之散列类型hash
在redis中用的最多的就是hash和string类型. 问题 假设有User对象以JSON序列化的形式存储到redis中, User对象有id.username.password.age.name等 ...
- css随堂笔记(一)
Css初体验第一天 1 css初识:css主要用于设置HTML页面中文本内容,图片的外形,以及版面的布局等外观显示样式 Css样式规范:h1{属性:值} 2 css的三总书写方式:1 行内样式 将样 ...
- 用代码初始化AE控件许可
当AE二次开发与其他平台一起使用的时候,有时候会不方便加LicenseControl控件,需要用代码初始化许可: 在构造函数中初始化许可: public Form1() { InitializeCom ...
- Jmeter入门8 连接microsoft sql server数据库取数据
本文以Jmeter 连接microsoft sql server为例. 1 从微软官网下载Microsoft SQL Server JDBC Driver 地址:http://www.microsof ...