728x90
반응형
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 |