Repository navigation
v1.0.0
🎉 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、OPTIONSAuthRequirement: 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"))
]