簡體   English   中英

Flask 二進制的 Restful reqparse add_argument 類型

[英]Flask Restful reqparse add_argument type for binary

我使用 Flask Restful 創建了 rest api,並使用 reqparse 來獲取通過 POST 調用傳遞的數據。

到目前為止,我可以獲取在 Postman 中作為原始數據傳遞的數據。 如果我想在 Postman 中使用二進制,那么 reqparse 的 add_argument 中應該包含什么類型?

當前代碼:

from flask_restful import Resource, reqparse

def post(self):
    parser = reqparse.RequestParser()
    parser.add_argument('dataUrl')
    args = parser.parse_args()

如果以下面的方式創建解析器:

upload_parser = server.api.parser()
upload_parser.add_argument('', location='data',
                           type=bytes, required=True)

您將收到錯誤 TypeError: a bytes-like object is required, not 'str' 我試圖將 type= 更改為 FileStorage, bytes, bytearray,但沒有任何幫助。

如果使用https://flask-restplus.readthedocs.io/en/stable/_modules/flask_restplus/reqparse.html中的任何位置而不是數據,您將收到有關缺少參數的錯誤。

使用 flask_restful.inputs.boolean 並設置其默認值(否則它將不起作用)。 例子:

from flask import Flask
from flask_restful import Resource, Api, reqparse, inputs

app = Flask(__name__)
api = Api(app)

parser = reqparse.RequestParser()
parser.add_argument('dataUrl', type=inputs.boolean, default=False)

@app.route('/<string:dataUrl>')
def post(self, dataUrl):
    data = parser.parse_args()
    return data

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM