【问题标题】:Inserting multiple JSON values from Postman to Postgres using Flask使用 Flask 将多个 JSON 值从 Postman 插入到 Postgres
【发布时间】:2020-11-24 12:44:24
【问题描述】:

我正在尝试通过 Flask(Python) 将多个 JSON 值从邮递员传递到 PostgreSQL。我可以为单个 JSON 数据执行此操作,但不能为多个值执行此操作。

JSON 数据:

{"users" : [{"username":"empty1","password":"6005"}, {"username":"empty2","password":"6006"}]}

代码:

from flask_restful import Resource, reqparse
from werkzeug.security import safe_str_cmp
from flask_jwt_extended import create_access_token
from model.user import UserModel
import ast
#from idna.core import unicode
#import argparse
user_parser = reqparse.RequestParser()
user_parser.add_argument("username",required=True,location='json')
user_parser.add_argument("password",required=True,location='json')
class UserRegister(Resource):
    def post(self):
        args = user_parser.parse_args()
        args1 = ast.literal_eval(args.username)
        print(args1)
        list = []
        list.append(args1.copy())
        print(list[0])

        '''if UserModel.find_by_username(data['username']):
            return {"message": "A user with that username already exists"}, 400'''

        user = UserModel(**args)
        user.save_to_db()

        return {"message": "User created successfully."}, 201

【问题讨论】:

  • 这里有什么错误要补充吗?
  • 没有具体错误,但无论我们在 add_argument () 中放入什么,它都会返回一条消息,而无需插入第二个 JSON 数据。
  • 不清楚user_parser 是如何从您的列表中提取多个元素以插入数据库的
  • 当我执行程序时,我在 postman { "message": { "username": "Missing required parameter in the JSON body" } } 中得到以下结果
  • 是的,因为您的解析器仅将 {"users" : []} 视为顶级对象。请在调试此代码方面付出一些努力。您的数据库方法只需要单独的 json 对象,或者您必须解析新的 json 对象,并获取数组并对其进行循环

标签: python flask postman


【解决方案1】:

我知道这是一篇旧帖子,但我遇到了同样的问题,并且以下步骤有效。 一旦你的 Flask 应用程序正在运行 -

  1. 在 Postman 的集合中添加您的测试,并在请求正文中输入 {{jsonBody}}

  2. 在预请求脚本中设置以下全局变量以“字符串化”您的 JSON pm.globals.set("jsonBody", JSON.stringify(pm.iterationData.toObject()));

  3. 在运行收集运行程序时上传 JSON 文件并“保存响应”以查看日志。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-15
    • 1970-01-01
    • 2021-08-22
    • 1970-01-01
    • 2022-01-17
    • 2022-01-19
    相关资源
    最近更新 更多