01.import
- Back
- 00.overview.md
-
01.admin
- 00.overview.md
-
01.auth
-
02.user-management
-
03.group-management
-
04.announcement-management
-
05.guide-management
-
02.general
- 00.overview.md
-
01.analysis
-
02.auth
-
03.chat
-
04.checkout
-
05.packages
-
06.wishlist
- 00.overview.md
-
01.temp-wishlist-to-group
-
02.wishlist-to-group
-
07.file-storage
-
08.unique-product-upload
-
09.dataset-workflow
-
10.landing-page
-
03.widget
ユニーク商品アップロード - インポート
概要説明
ユニーク商品を含むCSVをアップロードし、バックグラウンドでインポート処理を行います。
アクティビティ図
---
config:
theme: base
layout: dagre
flowchart:
curve: linear
htmlLabels: true
themeVariables:
edgeLabelBackground: "transparent"
---
flowchart TB
Client[Client App]
Controller[UniqueProductWishlistController]
Service(UniqueProductUploadService)
Storage[(GCS)]
Queue[(Queue)]
Client --- Step1[
<div style='text-align: center'>
<span style='display: inline-block; background-color: #6699cc !important; color:white; width: 28px; height: 28px; line-height: 28px; border-radius: 50%; font-weight: bold'>1</span>
<p style='margin-top: 8px'>POST CSV</p>
</div>
]
Step1 --> Controller
Controller --- Step2[
<div style='text-align: center'>
<span style='display: inline-block; background-color: #6699cc !important; color:white; width: 28px; height: 28px; line-height: 28px; border-radius: 50%; font-weight: bold'>2</span>
<p style='margin-top: 8px'>認証 & バリデーション</p>
</div>
]
Step2 --> Service
Service --- Step3[
<div style='text-align: center'>
<span style='display: inline-block; background-color: #6699cc !important; color:white; width: 28px; height: 28px; line-height: 28px; border-radius: 50%; font-weight: bold'>3</span>
<p style='margin-top: 8px'>ファイル保存</p>
</div>
]
Step3 --> Storage
Service --- Step4[
<div style='text-align: center'>
<span style='display: inline-block; background-color: #6699cc !important; color:white; width: 28px; height: 28px; line-height: 28px; border-radius: 50%; font-weight: bold'>4</span>
<p style='margin-top: 8px'>ジョブ投入</p>
</div>
]
Step4 --> Queue
Queue --> Service
Service --> Controller
Controller --> Client
Swagger リンク
API: Unique Product Upload Import
API エンドポイント
- POST
/api/v1/general/unique-product-upload/import - 認証: 必須 (General)
- Content-Type: multipart/form-data
リクエスト
file(必須): CSVファイル
エラーハンドリング
| ステータス | メッセージ |
|---|---|
| 400 | Invalid file |
| 401 | Unauthorized |
| 413 | Payload too large |
| 500 | Internal error |