操作
バグ #224
未完了[Task1] APIエンドポイント統合実装 - task2-service/api
ステータス:
新規
優先度:
高め
担当者:
-
開始日:
2025-06-04
期日:
進捗率:
0%
予定工数:
説明
Task 1: APIエンドポイント統合実装¶
概要¶
task2-service/api にニュース機能のAPIエンドポイントを統合実装する
作業ディレクトリ¶
/home/ito/task2-service/api/
実装ファイル構成¶
api/
├── routes/
│ └── news.js # ニュースAPI統合
├── controllers/
│ └── newsController.js # ビジネスロジック
├── models/
│ └── newsModel.js # データモデル
├── services/
│ ├── newsService.js # NewsAPI統合
│ └── redmineService.js # Redmine連携
└── server.js # メインサーバー (更新)
実装仕様¶
1. APIエンドポイント¶
-
GET /api/news
- ニュース一覧取得 -
GET /api/news/:id
- ニュース詳細取得 -
POST /api/news/:id/redmine
- Redmineチケット作成 -
GET /api/news/health
- ヘルスチェック
2. 技術要件¶
- Node.js + Express
- CORS設定:
*.call2arm.com
対応 - エラーハンドリング標準化
- JSONレスポンス統一
3. 統合設定¶
// 環境変数
NODE_ENV=development
PORT=3002
NEWS_API_KEY=${NEWS_API_KEY}
REDMINE_URL=https://call2arm.com
REDMINE_API_KEY=feb66d81a5f4ff9c585ce30fce2ac06e0554aec6
4. 既存統合¶
- 既存
/api/redmine
ルート活用 - 既存
/api/health
拡張 - Docker Compose設定更新
成果物¶
- routes/news.js実装
- controllers/newsController.js実装
- services/newsService.js実装
- services/redmineService.js実装
- server.js統合更新
- APIテスト実行確認
テスト項目¶
# ヘルスチェック
curl http://localhost:3002/api/news/health
# ニュース取得テスト
curl http://localhost:3002/api/news?category=technology&limit=5
# Redmine統合テスト
curl -X POST http://localhost:3002/api/news/123/redmine
完了条件¶
- 全APIエンドポイント動作確認
- Redmine統合機能テスト完了
- Docker環境での動作確認
- エラーハンドリング確認
参照: 親チケット #223
実装目標: 2-3日
優先度: 高
表示するデータがありません
操作