반응형
422 error 발생
FastAPI 에서 post 만들고
Swagger UI에서 성공
ajax 문제인 경우
아래 붉은 글씨 부분을 확인하자.
1. back단에서 받고 있는 data 형태와 보내는 형태의 일치 여부
data : param 으로만 보내고 있다면,
그리고 FastAPI에서 baseModel을 기반으로한 모델로 받고있다면,
보내는 파라미터(data)를 JSON.stringify로 감싸서 보내보자
2. contentType : "application/json" 이 빠져도 422가 떴다.
ajax GET을 먼저 만든 후
POST를 만들었더니 contentType이 누락되어있었다.
contentType 빠져도 422 error 발생했다.
var param = { "CustID" : Number(document.getElementById("regCustId").value),
"Name" : document.getElementById("regName").value }
$.ajax({
type: "POST",
url: "https://~~~~~~/users/registerUser",
dataType: "json",
data: JSON.stringify(param),
contentType: "application/json",
success: function(data){
console.log(data);
}
})
FastAPI - post
from fastapi import APIRouter,Path
from pydantic import BaseModel
router = APIRouter(prefix="/users", tags=["Users"])
class User(BaseModel):
CustID: int
Name: str
@router.post( path="/registerUser")
async def register_user(user: User):
sql_res_str = f"select * from Customer where CustID = {user.CustID}"
return test.do_sql(sql_res_str)
728x90
반응형
'IT story > error' 카테고리의 다른 글
[mybatis] Mapped Statements collection does not contain value for Dao.selectList (0) | 2022.01.11 |
---|---|
error : error parsing query: found EOF, expected (0) | 2021.07.09 |
error : Null value was assigned to a property (0) | 2021.06.17 |
error : yarn.ps1 파일을 로드할 수 없습니다. (0) | 2021.05.24 |