接收422错误Flutter后请求和Fastapi



我正试图在前端使用flutter将json数据发送到后端。我得到了422个错误,据我所知,如果参数被声明为Pydantic模型的类型,它将在请求主体中被解释。

所以,在其他stackoverflow帖子和我可以从我尝试的文档中收集的内容之后

Future<void> register() async {
final uri = 'http://localhost:8000/register';
final body = {
"username": unController.text,
"fullname": fullnameController.text,
"email": emailController.text,
"password": passwordController.text,
"disabled": false,
};
var json_string = json.encode(body);
print(json_string);
var response;
try {
response = await http.post(
Uri.parse(uri),
body: json_string,
);
} catch (e) {
print(e);
}
print(response);

我的路线签名看起来是这样的。

class User(BaseModel):
username: str
fullname: str
email: str
hashed_password: Optional[str]
disabled: bool
password: Optional[str]
@authenticate.post('/register', response_model=User)
async def register_user(new_user: User):

我是个新手,不知道为什么我仍然收到422状态码。我不断遇到这个问题,但我不确定如何继续。

我不知道下面代码预览中的哪个语言,但也许你会忘记添加返回JSON类型的路由。因为422错误意味着错误是不可处理的实体。如果我知道你用哪种语言,我可以帮你更具体的方法。

也许你需要添加类似return json.Encode(data)的内容。

或者你可以设置标题";内容类型":"application/json":/

最新更新