为啥邮递员 POST 方法不提供 `json` 格式的参数?

Posted

技术标签:

【中文标题】为啥邮递员 POST 方法不提供 `json` 格式的参数?【英文标题】:Why postman POST method do not provide params in `json` format?为什么邮递员 POST 方法不提供 `json` 格式的参数? 【发布时间】:2021-08-19 19:45:48 【问题描述】:

在我的flask项目中,有一条路线:

def request_parse(req_data):
    if req_data.method == 'POST':
        data = req_data.json
    elif req_data.method == 'GET':
        data = req_data.args
    return data

@app.route('/api/d/u', methods=['POST'])
def update():  # name, domain_list, pem_key, pem_cert, origin_ips

    data = request_parse(request)
    name = data.get('name')
    domain_list = data.get('domain_list')
    pem_key = data.get('pem_key')
    pem_cert = data.get('pem_cert')
    origin_ips = data.get('origin_ips')

在 Postman 中我这样请求:

我使用邮递员请求api:

你看它是POST方法,在我的项目调试中,我发现请求数据在form,而不是json

我也试过form-datax-www-form-urlencoded格式,都是form

为什么邮递员 POST 方法不向request.json 提供参数?是否可以在request.json 中提供参数?

【问题讨论】:

这能回答你的问题吗? Postman: sending nested JSON object 【参考方案1】:

如果您想以 JSON 格式发送,请将 x-www-form-urlencoded 更改为 raw,您应该会看到 Text, JSON, html 的下拉列表。然后可以选择JSON

【讨论】:

以上是关于为啥邮递员 POST 方法不提供 `json` 格式的参数?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用邮递员休息客户端将帖子请求发送到以下帖子方法

Http.post不接受flutter / dart中的内容类型application / query + json

为啥来自 POSTMAN 的 POST 请求返回空?

邮递员中不支持的媒体类型

为啥我的网络服务 POST 方法拒绝我的 json 数据? [复制]

为啥我不能从我的 Xamarin Froms 应用程序发布到我的 .net 核心 web api