
< /p>
Однако при тестировании входных данных json в пользовательском интерфейсе конечной точки FastAPI все работает нормально:
[img]https://i. sstatic.net/YjTyIV3x.png[/img]
Ниже представлена моя страница интерфейса с формой и асинхронными функциями отправки:
page.tsx< /p>
Код: Выделить всё
export default function Goal(){
const [username, setUsername] = useState("");
const [password, setPassword] = useState("");
async function onSubmit(event : FormEvent) {
event.preventDefault()
const formData = {
username: username,
password: password
};
try{
const response = await fetch('http://127.0.0.1:8000/frontend_testing', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(formData) // Send as JSON
});
// const responseData = await response.json();
}
catch(err){
console.log(err)
}
}
return (
color: '#4C4C4C',
fontSize: 24,
fontWeight: '700',
wordWrap: 'break-word',
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
height: '100vh'
}}>
Login Page
Username
{
setUsername(e.target.value);
}}/>
Password
{
setPassword(e.target.value);
}}/>
Submit
);
}
Код: Выделить всё
from fastapi import FastAPI, HTTPException, Depends, Request
from pydantic import BaseModel
from typing import List, Annotated
app = FastAPI()
models.Base.metadata.create_all(bind=engine)
class UserInfo(BaseModel):
username: str
password: str
....
@app.post("/frontend_testing")
async def create_user(req: UserInfo, db: db_dependency):
print(f"Username: {req.username}")
print(f"Password: {req.password}")
Подробнее здесь: https://stackoverflow.com/questions/786 ... ot-allowed