首页 > 编程语言 >python - Flask接收和发送json

python - Flask接收和发送json

时间:2023-06-12 19:48:06浏览次数:34  
标签:python data Flask json mysql print import config

需要接收一个json对象,然后判断主键是否存在后执行插入操作
服务端

from flask import Flask, request, jsonify
from gevent import pywsgi
import pymysql
import config
import json

app = Flask(__name__)
try:
    mysql_conn = pymysql.connect(host=config.mysql_host,user=config.mysql_user,passwd=config.mysql_password,port=config.mysql_port, charset=config.mysql_charset, database=config.mysql_database)
    mysql_cursor = mysql_conn.cursor()
    print('mysql连接成功')
except Exception as e:
    print(e)

# 定义接口
@app.route('/insert_database', methods=['POST'])
def get_name():
    try:
        data = request.get_json()
        print(f'接收数据: {data}')

        select_sql = f"SELECT ID FROM `{config.mysql_table}` WHERE `CheckDeviceName`='{data['CheckDeviceName']}' AND `FillerOrderNumber`='{data['FillerOrderNumber']}' AND `CheckDate`='{data['CheckDate']}'"
        res = mysql_cursor.execute(select_sql)
        if res >= 1:
            print('已存在该条数据')
            return jsonify(status="exists")

        insert_sql = f'''INSERT INTO `{config.mysql_table}` VALUES(null, FALSE, '{data['PatientCheckId']}', '{data['CheckDeviceName']}', '{data['FillerOrderNumber']}', '{data['PatientName']}', '{data['PatientSex']}', '{data['PatientIdCard']}', '{data['CheckDate']}', '{data['CheckTime']}', '', '', '{data['SpecimenSource']}', '{data['CheckResult']}', '', '', '')'''
        mysql_cursor.execute(insert_sql)
        mysql_conn.commit()
        print('数据插入成功')
        return jsonify(status="success")
    except Exception as e:
        print(e)
        return jsonify(status="error")

if __name__ == '__main__':
    server = pywsgi.WSGIServer((config.host,config.port), app)
    server.serve_forever()

requests测试

import requests
import json

url = 'http://localhost:8000/insert_database'
data = {'CheckDeviceName': 'DH71_CRP', 'FillerOrderNumber': '1001', 'CheckDate': '2023-06-12'}
response = requests.post(url, json=data)

if response.status_code == 200:
    result = response.json()
    print(result)
else:
    print('请求失败')

标签:python,data,Flask,json,mysql,print,import,config
From: https://www.cnblogs.com/wstong2052/p/17475833.html

相关文章

  • java调用第三方接口,请求方式 get,传参方式 param形式非json。
    项目调用第三方接口,调用方式人家做了限制“请求方式get 传参方式param形式传参,非json”。所有有了下面的代码: importcom.alibaba.fastjson.JSONObject;importcom.spcp.platform.common.util.StringUtil;importcom.spcp.qypt.whpt.util.HttpClientUtil;importorg.spring......
  • Python利用jsonpickle库把对象序列化为json
    python中经常要保存一些数据,json是一种理想的存储格式,纯文本的,也方便阅读,但有时使用起来不太方便,比如下面的例子:a=jsonData['A']b=jsonData['B']只能按字典方式引用,还不支持自动完成,不如python对象使用方便.如果定义python类,使用方便,但是保存为文件时......
  • os模块、序列化模块、pickle和json的区别
    os模块#os模块是与操作系统交互的一个接口1.文件相关的os.makedirs('dirname1/dirname2')#可生成多层递归目录os.removedirs('dirname1')#若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推os.mkdir('dirname')#生成单级目录;相当于shell中mkd......
  • 【Python入门教程】Python常用表格函数&操作(xlrd、xlwt、openpyxl、xlwings)
    ​        在我们使用Python时,避免不了与Excel打交道。同样Python的三方库和代码的简洁性也为我们处理大数据提供了便利。今天给大家介绍一下常用的处理表格的函数,同时还有一些常用的操作。                这些都是我在使用Python处理Excel时用到的......
  • 0基础学python
    Python学习路线 精品Python学习书籍 技能对照表 ......
  • python 序列化模块
    一、jsonJson模块提供了四个功能:dumps、dump、loads、load1、前景什么叫序列化——将原本的字典、列表等内容转换成一个字符串的过程就叫做序列化。序列化的目的以某种存储形式使自定义对象持久化;将对象从一个地方传递到另一个地方。使程序更具维护性2、loads和dumps......
  • Delphi 原生支持DataSet导出Json
    Xalion发现data.DBJson单元,不知什么时候加的,官方帮助中也没有写。procedureTForm18.Button2Click(Sender:TObject);varcV:TDatasetToJSONBridge;jo:Tjsonobject;begincV:=TDatasetToJSONBridge.Create;trycV.Dataset:=mt;jo:=Tjsonobject(cV.......
  • 手机在线玩Python的15种方法!
    /手机写代码 /android安卓 QPython.apk链接:https://pan.baidu.com/s/1S2mFHsqa3Zuyxiua6nGsbg 提取码:b1g2  Pydroid.apk链接:https://pan.baidu.com/s/10Bnyl6AdUI2mBRZEuLMB6g 提取码:678f Python教程.apk链接:https://pan.baidu.com/s/1iRJC4mAUTCGBounShuXxdg?pw......
  • python使用HTTP隧道代理代码示例模板
    以下是使用HTTP隧道代理的Python代码示例模板:```pythonimportrequests#设置代理服务器地址和端口号proxy_host="your_proxy_host"proxy_port="your_proxy_port"#设置代理服务器的用户名和密码(如果需要)proxy_username="your_proxy_username"proxy_password="your_proxy_p......
  • 基于vue+flask+sql的公司销售采购信息服务系统
    一、介绍本项目基于Flask+Vue+Mysql的后台服务系统,主要针对某一公司日常后台操作而开发的一系列功能,包含用户管理,客户管理,采购管理,销售管理,库存管理,财务管理,权限管理,数据管理等功能。二、软件架构软件后端使用Flask,数据库使用mysql数据库,前端主要使用vue_ui2 三、使......