一、创建接口(如果调用别人的接口,跳过此条)
如果没有api,首先自己写一个接口玩一下:
必备知识:一个项目最基本的文件,接口run.py文件、config文件以及服务的主体函数文件,在这里我分别命名为run.py、config.py、service.py作为例子,当然大项目的文件要更复杂,分为多个模块,但是万变不离其宗。
run.py文件如下
# -------------------------------------------------------------------------------
# coding:utf-8
# Description:
# Reference:
# Author: dacongming
# Date: 2022/9/5
# -------------------------------------------------------------------------------
from flask import Flask, request
import json
from service import service_function
from config import *
app = Flask(__name__)
#API_DIR接口路径,METHOD调用方法
@app.route(API_DIR, methods=METHOD)
def API_service():
try:
get_Data = json.loads(request.get_data())
content = get_Data.get('content')
result = service_function(content)
return json.dumps(result, ensure_ascii=False, indent=4)
except:
return json.dumps({'error': '此接口内部错误'}, ensure_ascii=False)
if __name__ == "__main__":
app.run(host=IP, debug=True, port=PORT,threaded=True)
service.py文件如下:
# -------------------------------------------------------------------------------
# coding:utf-8
# Description:
# Reference:
# Author: dacongming
# Date: 2022/9/5
# -------------------------------------------------------------------------------
def service_function(content):
flag_list = list()
flag = ''
univer_list_first_class = ["北京大学"]
univer_list_985 = ['北京大学']
univer_list_211 = ['北京大学']
if content in univer_list_first_class:
flag = '世界一流大学'
flag_list.append(flag)
if content in univer_list_985:
flag = '985大学'
flag_list.append(flag)
if content in univer_list_211:
flag = '211大学'
flag_list.append(flag)
return flag_list
config.py 文件如下:
# -------------------------------------------------------------------------------
# coding:utf-8
# Description:
# Reference:
# Author: dacongming
# Date: 2022/9/5
# -------------------------------------------------------------------------------
import os
base_dir = os.path.split(os.path.realpath(__file__))[0]
API_DIR = '/University/Class'
IP = "0.0.0.0"
PORT = 5005
METHOD = ["POST"]
运行接口文件run.py,如下则启用成功:
验证环节:
postman调用验证:左侧调用,右侧结果
二、API调用接口
python 内置模块的接口调用:
应用模块http.client
直接上代码:
# -------------------------------------------------------------------------------
# coding:utf-8
# Description:
# Reference:
# Author: dacongming
# Date: 2022/9/5
# -------------------------------------------------------------------------------
import http.client
import json
def call_api(inputdata):
"""
:param inputdata: 单个样本的输入参数,是字典格式的数据
:return: 单个样本的探真查询变量结果数据
"""
#配置参数IP,根据自己情况修改,此处为本地调用
url = '127.0.0.1'
# 调用接口
connection = http.client.HTTPConnection(url,5005)#需要根据自己情况修改,5005为端口号
headers = {'Content-type': 'application/json'}
json_inputdata = json.dumps(inputdata)
connection.request('POST', '/University/Class', json_inputdata, headers)
response = connection.getresponse()
res_dic = json.loads(response.read().decode())
return res_dic
if __name__ == "__main__":
inputdata = {"content":"北京大学"}
result = call_api(inputdata)
print(result)
结果:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/36676.html