Estoy aprendiendo a usar FastAPI, y recibo este error una y otra vez mientras implemento una API simple y no puedo entender por qué
"detail": "There was an error parsing the body"Esto me sucede en estos dos puntos finales:
Código completo: Repositorio de código
retazo:
app_v1 = FastAPI(root_path='/v1') # JWT Token request @app_v1.post('/token') async def login_access_token(form_data: OAuth2PasswordRequestForm = Depends()): jwt_user_dict = {"username": form_data.username, "password": form_data.password} jwt_user = JWTUser(**jwt_user_dict) user = authenticate_user(jwt_user) if user is None: return HTTP_401_UNAUTHORIZED jwt_token = create_jwt_token(user) return {"token": jwt_token}solicitud:
@app_v1.post("/user/photo") async def update_photo(response: Response, profile_photo: bytes = File(...)): response.headers['x-file-size'] = str(len(profile_photo)) response.set_cookie(key='cookie-api', value="test") return {"profile photo size": len(profile_photo)}Logré darme cuenta, fue porque cuando se instaló FastAPI, no instaló python-multipart, por lo que con este paquete falta todo lo que necesita multipart.
Despues de instalarlo funciona bien
Gracias
El problema con la primera solicitud es que debe enviar el nombre de username y password en un form-data . En lugar de x-www-form-urlencoded , use form-data y debería estar bien.
No puedo ver el problema con el segundo. ¿Puedes intentar usar la interfaz de Swagger y ver si sucede lo mismo allí?