プロジェクト

全般

プロフィール

バグ #224

未完了

[Task1] APIエンドポイント統合実装 - task2-service/api

Redmine Admin さんが4日前に追加.

ステータス:
新規
優先度:
高め
担当者:
-
開始日:
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日
優先度: 高

表示するデータがありません

他の形式にエクスポート: Atom PDF