docs(common): 공통 응답 봉투 + healthz 설명 보강

- gmodel: ErrorInfo(success/code/desc) + Res_WebPacketProtocol(result/msg)
  에 description 추가 → 모든 Res_* 응답의 공통 봉투가 Swagger 에 채워짐.
- router: /healthz 에 summary/description 추가(유일하게 설명 없던 오퍼레이션).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
민헌 2026-07-07 15:15:07 +09:00
parent 70104404eb
commit be2865a4b2
2 changed files with 11 additions and 6 deletions

View File

@ -15,9 +15,9 @@ class StructModel:
class ErrorInfo(BaseModel, StructModel): class ErrorInfo(BaseModel, StructModel):
"""모든 응답에 공통으로 실리는 결과 정보. result.success / code / desc 로 내려간다.""" """모든 응답에 공통으로 실리는 결과 정보. result.success / code / desc 로 내려간다."""
success: Optional[bool] = True success: Optional[bool] = Field(True, description="처리 성공 여부 (성공 시 true)")
code: Optional[int] = ErrorType.SUCCESS.value code: Optional[int] = Field(ErrorType.SUCCESS.value, description="결과 코드 (ErrorType, 0=성공)")
desc: Optional[str] = ErrorType.SUCCESS.name desc: Optional[str] = Field(ErrorType.SUCCESS.name, description="결과 코드 이름 (ErrorType.name)")
def SetResult(self, enum: ErrorType): def SetResult(self, enum: ErrorType):
if enum is not None: if enum is not None:
@ -41,8 +41,8 @@ class Req_WebPacketProtocol(WebPacketProtocol):
class Res_WebPacketProtocol(WebPacketProtocol): class Res_WebPacketProtocol(WebPacketProtocol):
# default_factory 로 인스턴스마다 새 ErrorInfo 를 생성한다 (mutable default 공유 방지). # default_factory 로 인스턴스마다 새 ErrorInfo 를 생성한다 (mutable default 공유 방지).
result: ErrorInfo = Field(default_factory=ErrorInfo) result: ErrorInfo = Field(default_factory=ErrorInfo, description="공통 처리 결과 (성공 여부/코드/설명)")
msg: Optional[str] = None msg: Optional[str] = Field(None, description="부가 메시지 (선택)")
class UserInfo(StructModel): class UserInfo(StructModel):

View File

@ -50,7 +50,12 @@ async def log_time(request: Request, call_next):
return response return response
@app.get(path="/healthz", responses={404: {"description": "Not found"}}) @app.get(
path="/healthz",
summary="헬스체크",
description="서버 기동 시각(API_SERVER_START_TIME)을 반환하는 헬스체크 엔드포인트.",
responses={404: {"description": "Not found"}},
)
async def healthz(): async def healthz():
return API_SERVER_START_TIME return API_SERVER_START_TIME