Skip to content

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 31 Dec 03:15
· 69 commits to main since this release
afdb44d

🎉 v1.0.0 リリース

swift-api-contract v1.0.0 がリリースされました。

📝 変更内容

追加

  • コアプロトコル

    • APIContract: エンドポイント定義のコアプロトコル
    • APIInput: リクエストパラメータ(パス、クエリ、ボディ)の型安全な定義
    • APIContractGroup: 関連エンドポイントのグループ化
    • APIExecutor: API実行のための抽象プロトコル
  • マクロ

    • @Endpoint: エンドポイント構造体の自動生成マクロ
    • @APIGroup: APIグループenumの自動生成マクロ
    • @PathParam: パスパラメータのマーカーマクロ
    • @QueryParam: クエリパラメータのマーカーマクロ(カスタム名サポート)
    • @Body: リクエストボディのマーカーマクロ
  • 型ユーティリティ

    • EmptyInput: パラメータなしエンドポイント用
    • EmptyOutput: レスポンスボディなしエンドポイント用
    • HTTPMethod: GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS
    • AuthRequirement: none、required
  • 自動コード生成

    • pathParametersプロパティの自動生成
    • queryParametersプロパティの自動生成
    • encodeBody()メソッドの自動生成
    • init()イニシャライザの自動生成
    • URLRequest構築の自動化

CI/CD

  • GitHub Actions
    • tests.yml: PRごとのテスト自動実行
    • auto-release-on-merge.yml: リリースブランチマージ時の自動リリース
    • docc.yml: DocCドキュメントのGitHub Pagesデプロイ
  • 自動リリースフロー
    • CHANGELOGバリデーション
    • Gitタグ自動作成
    • GitHub Release自動生成
    • 次バージョンリリースブランチ自動作成

ドキュメント

  • README.md(日本語・英語)
  • DocCドキュメント(GettingStarted、DefiningEndpoints)
  • CHANGELOG.md

テスト

  • マクロ展開テスト(EndpointMacroTests)

📦 インストール

dependencies: [
    .package(url: "https://github.com/no-problem-dev/swift-api-contract.git", .upToNextMajor(from: "1.0.0"))
]

🔗 リンク