From 7de1502cd0a6ff0ff807d486a520cc5da700c02a Mon Sep 17 00:00:00 2001 From: rei <107461411+reiroop@users.noreply.github.com> Date: Sat, 30 May 2026 16:38:58 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20OpenAPI=E4=BB=95=E6=A7=98=E3=81=AE?= =?UTF-8?q?=E3=83=90=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B3=E3=82=92=203.0.3?= =?UTF-8?q?=20=E3=81=B8=E3=83=80=E3=82=A6=E3=83=B3=E3=82=B0=E3=83=AC?= =?UTF-8?q?=E3=83=BC=E3=83=89=E3=81=97=E3=80=81MeResponse=E3=81=AE?= =?UTF-8?q?=E8=A8=AD=E8=A8=88=E6=B3=A8=E8=A8=98=E3=82=92=E3=82=AF=E3=83=AA?= =?UTF-8?q?=E3=83=BC=E3=83=B3=E3=82=A2=E3=83=83=E3=83=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- openapi.yaml | 19 ++--- server/gen.go | 188 ++++++++++++++++++++++++-------------------------- 2 files changed, 95 insertions(+), 112 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 0f49ddf..f461909 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -1,4 +1,4 @@ -openapi: 3.1.0 +openapi: 3.0.3 info: title: Checkin API @@ -692,7 +692,6 @@ components: type: string description: normalized email redirect: - description: validated redirect path $ref: '#/components/schemas/RelativeRedirectPath' required: - email @@ -849,8 +848,8 @@ components: status: $ref: '#/components/schemas/InvoiceStatus' payment_intent: - type: - - string + type: string + nullable: true description: この請求書に関連付けられた PaymentIntent example: pi_3MtwBwLkdIwHu7ix28a3tqPa product_id: @@ -899,8 +898,8 @@ components: - open example: open payment_intent: - type: - - string + type: string + nullable: true description: この Checkout Session に関連付けられた PaymentIntent example: pi_3MtwBwLkdIwHu7ix28a3tqPa product_id: @@ -912,13 +911,7 @@ components: type: object additionalProperties: true MeResponse: - description: | - 現在のセッション情報(ログインユーザー情報) - - 【設計注記】 - OpenAPI 3.1.0 の標準仕様としては `nullable: true` は非推奨であり、本来は `type: [string, "null"]` と定義すべきです。 - しかし、Goの自動生成ツールである `oapi-codegen` (v2.7.x 時点) が OpenAPI 3.1.0 の Union型(型配列)のパースに対応しておらず、 - ビルドエラー (`unhandled Schema type: &[string null]`) になるため、本プロジェクトでは意図的に `nullable: true` を使用しています。 + description: 現在のセッション情報(ログインユーザー情報) type: object properties: email: diff --git a/server/gen.go b/server/gen.go index 3911a78..233ff3a 100644 --- a/server/gen.go +++ b/server/gen.go @@ -114,7 +114,7 @@ type GetCheckoutSessionsResponse struct { Id *string `json:"id,omitempty"` // PaymentIntent この Checkout Session に関連付けられた PaymentIntent - PaymentIntent *string `json:"payment_intent,omitempty"` + PaymentIntent *string `json:"payment_intent"` // ProductId Product ID ProductId *string `json:"product_id,omitempty"` @@ -152,7 +152,7 @@ type GetInvoicesResponse struct { Id *string `json:"id,omitempty"` // PaymentIntent この請求書に関連付けられた PaymentIntent - PaymentIntent *string `json:"payment_intent,omitempty"` + PaymentIntent *string `json:"payment_intent"` // ProductId Product ID ProductId *string `json:"product_id,omitempty"` @@ -185,11 +185,6 @@ type GetProductsResponse struct { type InvoiceStatus string // MeResponse 現在のセッション情報(ログインユーザー情報) -// -// 【設計注記】 -// OpenAPI 3.1.0 の標準仕様としては `nullable: true` は非推奨であり、本来は `type: [string, "null"]` と定義すべきです。 -// しかし、Goの自動生成ツールである `oapi-codegen` (v2.7.x 時点) が OpenAPI 3.1.0 の Union型(型配列)のパースに対応しておらず、 -// ビルドエラー (`unhandled Schema type: &[string null]`) になるため、本プロジェクトでは意図的に `nullable: true` を使用しています。 type MeResponse struct { // CustomerId 現在のセッションのユーザーがすでに Stripe Customer として登録されている場合に顧客IDが入る。未登録の場合は null。 CustomerId *string `json:"customer_id"` @@ -1080,98 +1075,93 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", } // GetSwagger returns the content of the embedded swagger specification file