Python 邮递员为什么回来;无一不是'类型;对象'&引用;发送包含正文内容的POST请求时?
我使用Swagger来构建restapi。端点之一是/register,在swagger.yaml中定义如下:Python 邮递员为什么回来;无一不是'类型;对象'&引用;发送包含正文内容的POST请求时?,python,api,http,swagger,postman,Python,Api,Http,Swagger,Postman,我使用Swagger来构建restapi。端点之一是/register,在swagger.yaml中定义如下: /register: post: tags: - "User" summary: "Registers the User" description: "..." operationId: "register_user" consumes: - "application/json"
/register:
post:
tags:
- "User"
summary: "Registers the User"
description: "..."
operationId: "register_user"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
- in: "body"
name: "username"
description: "Register data"
required: true
schema:
$ref: "#/definitions/username_1"
responses:
201:
description: "User registered."
404:
description: "invalid input, object invalid"
x-swagger-router-controller: "swagger_server.controllers.user_controller"
以及对象的定义:
username_1:
type: "object"
properties:
username:
type: "string"
password:
type: "string"
email:
type: "string"
language:
type: "string"
register_user函数尚未执行任何操作
def register_user(self):
return 'do some magic!'
在Postman中,我在Body-form数据字段中添加了以下值:
KEY VALUE
username a
password a
email a
language a
发送后我收到
{
"detail": "None is not of type 'object'",
"status": 400,
"title": "Bad Request",
"type": "about:blank"
}.
据我目前所知,问题在于尸体不是通过邮递员寄出的。例如,如果我改变了定义
username_1:
type: "string"
#properties:
#username:
#type: "string"
#password:
#type: "string"
#email:
#type: "string"
#language:
#type: "string"
对象将错误转换为字符串
"None is not of type 'string'".
下面是Postman配置的屏幕截图:和其中一个标题
最后,GET请求(不需要额外的参数)工作正常。
你知道如何解决这个问题吗?多谢各位
您是如何在Postman中配置请求的?你能添加一个截图吗?Hellp Helen,非常感谢你对我添加截图的兴趣。我还尝试了不同的方法来发送正文(表单数据或原始数据),还尝试了在终端中卷曲。。。所有结果都相同您可以共享“标题”选项卡吗?未设置内容类型标题时,似乎会出现此错误。嗨,Arlemi!标题屏幕截图现在已上载: