Expand description
§データモデルモジュール
このモジュールは、コンタクトフォームAPIのリクエスト・レスポンスに使用するデータ構造を定義します。 Lambda 関数が受け取る API Gateway リクエストの構造と、クライアントに返すレスポンスの構造を 型安全に扱えるようにします。
§リクエスト構造
API Gateway HTTP API が Lambda に渡すペイロードは次の形式です(バージョン2.0):
{
"requestContext": {
"http": { "method": "GET" },
"authorizer": {
"jwt": {
"claims": {
"email": "user@example.com",
"sub": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
}
},
"body": "{\"subject\":\"...\",\"body\":\"...\"}"
}§レスポンス構造
Lambda から API Gateway に返すレスポンスは次の形式です:
{
"statusCode": 200,
"headers": {
"Content-Type": "application/json",
"Access-Control-Allow-Origin": "https://example.com"
},
"body": "{\"email\":\"...\",\"count\":1,\"messages\":[...]}"
}§OpenAPI スキーマ
openapi フィーチャーが有効な場合、[utoipa::ToSchema] が derive されます。
[crate::bin::generate-openapi] バイナリがこれを使用して OpenAPI 定義を生成します。
Structs§
- Authorizer 🔒
- API Gateway JWT Authorizer の認可情報
- Claims 🔒
- JWT クレームセット
- Create
Message 🔒Request - POST /message/new のリクエストボディ
- Create
Message 🔒Response - 作成済みメッセージのレスポンスボディ
- Created
Message 🔒 - 新規作成したメッセージの詳細情報
- Error
Response 🔒Body - エラーレスポンスボディ
- Http 🔒
- HTTP メソッド情報
- Jwt 🔒
- JWT トークン情報
- Message 🔒
- メッセージ一覧に返す詳細情報
- Message
List 🔒Response - GET /messages のレスポンスボディ
- Request 🔒
- API Gateway HTTP API からの Lambda イベントペイロード
- Request
Context 🔒 - API Gateway リクエストコンテキスト
- Response 🔒
- Lambda から API Gateway に返すHTTPレスポンス