python-----编写接口,使用postman与soapiu访问调用
Posted 文城清枫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-----编写接口,使用postman与soapiu访问调用相关的知识,希望对你有一定的参考价值。
实例:自己写一个注册接口 输入用户名、密码、验证码,当满足注册将密码进行md5加密。
场景 |
接口返回参数 |
提示 |
用户名存在 |
2000 |
exit 用户已存在 |
密码与验证码不相等 |
3000 |
wrong 密码不一致 |
注册成功 |
1000 |
insert 插入成功 |
URL与传入参数 |
||
接口访问地址 |
http://127.0.0.1:9009/regist |
|
请求方式 |
Post |
|
传入参数 |
username 用户名 password 密码 cpassword 确认密码 |
Mysql数据库 |
信息 |
Ip |
192.168.*.* |
用户名 |
root |
密码 |
12345 |
数据库选用 |
t2 |
表名 |
test2 |
表结构 |
name char(10),pw char(50) |
----------------------------代码---------------------------------------------------------------------------------
#写一个注册接口,输入用户名、密码、验证码:
# 如果用户存在,返回2000(exit 用户已存在);
# 如果密码与验证码不一致,返回3000(wrong 密码不一致);
# 如果注册成功,返回1000(insert 插入成功)
#注意:
#1、接口返回json.dumps(res, ensure_ascii=False)
#2、接口中的sql语句传递变量%s 需要“”;
# sql = ‘insert into test2(name,pw) values ("%s","%s")‘ % (username, new_password)
#3、md5加密,参数需要encode,返回值需要hexdigest()
import flask
import requests
import json
import pymysql
import hashlib
MYSQL_INFO = {
‘host‘:‘192.168.*.*‘,
‘user‘:‘root‘,
‘password‘:‘12345‘,
‘port‘:3306,
‘db‘:‘t2‘,
‘charset‘:‘utf8‘,
‘autocommit‘:‘True‘
}#数据库配置信息
def my_db(sql,**kwargs):
host=kwargs.get(‘host‘)
user = kwargs.get(‘user‘)
password = kwargs.get(‘password‘)
port = kwargs.get(‘port‘)
db = kwargs.get(‘db‘)
charset = kwargs.get(‘charset‘)
autocommit = kwargs.get(‘autocommit‘)
coon = pymysql.connect(host=host, user=user, password=password, port=port, db=db, charset=charset,autocommit=autocommit)
cur = coon.cursor()
cur.execute(sql)
sql_start=sql[:6].lower()
if sql.startswith(‘select‘) or sql.startswith(‘show‘):
data=cur.fetchall()
else:
data=‘OK‘
cur.close()
coon.close()
print(data)
return data
def md_5(pd):
newpd = hashlib.md5(pd.encode())
# print(newpd.hexdigest())
return newpd.hexdigest()
server = flask.Flask(__name__)
@server.route(‘/regist‘,methods=[‘get‘,‘post‘])
def regist():
username = flask.request.values.get(‘username‘)
password = flask.request.values.get(‘password‘)
cpassword = flask.request.values.get(‘cpassword‘)
sql = ‘select * from test2 where name="%s"‘ %username
all_data=my_db(sql,**MYSQL_INFO)
print(all_data)
if all_data:
res = {‘code‘: ‘2000‘, ‘msg‘: ‘exit 用户已存在‘}
else:
new_password=md_5(password)
print(new_password)
if password==cpassword:
sql = ‘insert into test2(name,pw) values ("%s","%s")‘ % (username, new_password)
my_db(sql, **MYSQL_INFO)
res = {‘code‘: ‘1000‘, ‘msg‘: ‘insert 插入成功‘}
else:
res = {‘code‘: ‘3000‘, ‘msg‘: ‘wrong 密码不一致‘}
return json.dumps(res, ensure_ascii=False)
if __name__ == "__main__":
server.run(port=9009, debug=True)
---------------------------用postman与soapui访问------------------------------------------
postman访问
3)soapui访问
注意:soapui新建rest项目时,需要输入网址,系统自动分开方填入reques界面第一行。
A:新建rest项目
B:输入url:
c:输入参数
以上是关于python-----编写接口,使用postman与soapiu访问调用的主要内容,如果未能解决你的问题,请参考以下文章