답변 2개
8개월 전
po_point필드의 벡엔드는 int 정수이므로 즉 숫자가 아닌 문자열이 입력되어 전달 할려구 하니 문제가 생기는듯 합니다. 확인해보시기 바랍니다. 또는 빈값이거나 잘못된 값이 요구하는것일 수도있구요 input type="number" 을 숫자만입력 허용하도록 해보시기 바랍니다. 또는 min="0" 음수입력 방지를 해보시구요
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
11개월 전
/api/v1/models/point.py
</p>
<p>from typing import List</p>
<p>from pydantic import BaseModel, Field, validator, ValidationError</p>
<p> </p>
<p>class PointBase(BaseModel):</p>
<p> po_content: str</p>
<p> po_point: int = Field(..., description="포인트 점수는 정수여야 합니다.")</p>
<p> po_rel_table: str</p>
<p> po_rel_id: str</p>
<p> po_rel_action: str</p>
<p> </p>
<p> @validator("po_point", pre=True, always=True)</p>
<p> def validate_po_point(cls, value):</p>
<p> # Check if value is an integer or can be converted to an integer</p>
<p> if isinstance(value, str) and not value.isdigit():</p>
<p> raise ValueError("po_point는 정수여야 하며 빈 문자열일 수 없습니다.")</p>
<p> return int(value)</p>
<p> </p>
<p>class PointListResponse(BaseModel):</p>
<p> total_points: int </p>
<p> page_sum_points: dict = {"positive": 0, "negative": 0} </p>
<p> points: List[PointBase]</p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
d
dos6
11개월 전
g
glitter0gim
11개월 전
ㅠ ㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
수정 했는데 여전히 안되네요
{"detail":[{"type":"int_parsing","loc":["body","po_point"],"msg":"Input should be a valid integer, unable to parse string as an integer","input":""},{"type":"int_parsing","loc":["body","po_id"],"msg":"Input should be a valid integer, unable to parse string as an integer","input":""}]}