ese774_frame.models package
Submodules
ese774_frame.models.api_spec module
Kengo NAKADA: https://github.com/shimane-dev, https://github.com/kengo-nakada kengo.nakada@mat.shimane-u.ac.jp, kengo.nakada@gmail.com
- class ese774_frame.models.api_spec.ApiSpec(request_model: Type[BaseModel] | None, response_model: Any | None, name: str, object_name: str = 'cobotta', function_name: str = None, path: str | None = None, method: str = 'post', description: str = '', summary: str | None = '', kind: Literal['method', 'property'] = 'method', writable: bool = False)[source]
Bases:
object1 API エントリの定義。
- request_model:
サーバ入力の Pydantic モデル(None 可)
- response_model:
サーバ出力の Pydantic モデル or typing 型(None 可)
- kind:
“method” または “property”。既定値は “method”。 既存 ApiSpec との後方互換性を維持する。
- writable:
kind=”property” の場合にクライアント側 setter を許可するか。
- decode_response():
クライアント側で JSON payload を response_model に従って復元し、 最終的にプレーン Python 値へ正規化する。
- decode_response(payload: Any) Any[source]
response_model に基づいて payload を復元し、プレーン Python を返す。
復元順序: 1) BaseModel (v2/v1) で検証・復元 2) 単一フィールド model は値をアンラップ 3) TypeAdapter / parse_obj_as を試行 4) 最後に payload をそのまま _to_plain
- description: str = ''
- function_name: str = None
- kind: Literal['method', 'property'] = 'method'
- method: str = 'post'
- name: str
- object_name: str = 'cobotta'
- path: str | None = None
- request_model: Type[BaseModel] | None
- response_model: Any | None
- summary: str | None = ''
- writable: bool = False