Skip to content

API リファレンス

Blog Service REST API の詳細仕様書です。

概要

Blog Service は REST API を提供し、記事とタグの管理機能を提供します。

Base URL

環境URL
ローカル開発http://localhost:8080/blog-service/v1
開発環境https://api.blog.dev.goodyfolio.com/blog-service/v1
本番環境https://api.blog.prod.goodyfolio.com/blog-service/v1

API バージョン

現在のAPIバージョン: v1

全てのレスポンスには以下の共通フィールドが含まれます:

json
{
  "apiVersion": "1.0.0"
}

認証

一部のエンドポイントでは JWT Bearer 認証が必要です。

認証ヘッダー

http
Authorization: Bearer <JWT_TOKEN>

認証が必要なエンドポイント

  • 記事の作成・更新・削除
  • タグの作成・更新・削除

リクエスト・レスポンス形式

Content-Type

Content-Type: application/json

成功レスポンス形式

json
{
  "apiVersion": "1.0.0",
  "data": {
    // レスポンスデータ
  }
}

エラーレスポンス形式

json
{
  "apiVersion": "1.0.0",
  "error": {
    "code": "ERROR_CODE",
    "message": "エラーメッセージ"
  }
}

ステータスコード

コード説明
200成功
201作成成功
204削除成功(レスポンスボディなし)
400リクエストエラー
401認証エラー
404リソースが見つからない
409競合エラー
500サーバー内部エラー

共通エラーコード

コード説明HTTPステータス
VALIDATION_ERRORバリデーションエラー400
UNAUTHORIZED認証失敗401
NOT_FOUNDリソースが見つからない404
CONFLICT重複などの競合409
INTERNAL_ERRORサーバー内部エラー500

ページネーション

一覧系APIではページネーションをサポートしています。

パラメータ

パラメータ必須デフォルト説明
pageinteger-ページ番号(1から開始)
page_sizeinteger-101ページあたりの件数(最大100)

レスポンス例

json
{
  "apiVersion": "1.0.0",
  "data": {
    "articles": [
      // 記事データ配列
    ]
  }
}

フィルタリング

記事一覧では以下のフィルタリングが可能です:

パラメータ説明
tag_idstring指定タグIDでフィルタ
categorytech | lifeカテゴリでフィルタ

API エンドポイント一覧

システム

メソッドパス説明認証
GET/healthヘルスチェック不要

記事管理

メソッドパス説明認証
GET/articles記事一覧取得不要
POST/articles記事作成必要
GET/articles/{article_id}記事詳細取得不要
PUT/articles/{article_id}記事更新必要
DELETE/articles/{article_id}記事削除必要

タグ管理

メソッドパス説明認証
GET/tagsタグ一覧取得不要
POST/tagsタグ作成必要
GET/tags/{tag_id}タグ詳細取得不要
PUT/tags/{tag_id}タグ更新必要
DELETE/tags/{tag_id}タグ削除必要

詳細ドキュメント

OpenAPI仕様

完全なOpenAPI仕様は以下で確認できます: