OpenAPI
Immichでは、OpenAPI標準を使用してAPIドキュメントを生成しています。公開されたドキュメントはこちらをご覧ください: こちら。
ジェネレーター
OpenAPIはクライアント(Typescript, Dart)SDKの生成に使用されています。openapi-generator-cli
はこちらからインストールできます。生成されたSDKは、サーバーが開発モードで実行されている時に自動生成されたimmich-openapi-specs.json
ファイルに基づいています。このimmich-openapi-specs.json
ファイルは、コントローラーエンドポイントに使用されるまたは参照される@nestjs/swagger
デコレーターを用いて修正することができます。詳細はNestJS OpenAPI ドキュメントをご覧ください。新しいエンドポイントを追加したり既存のものを変更したりする場合は、開発モードでサーバーを実行し、以下のコマンドを実行してクライアントSDKを更新する必要があります。
make open-api
生成されたクライアントSDKは、Typescript SDKの場合はopen-api/typescript-sdk/client
フォルダに、Dart SDKの場合はmobile/openapi
フォルダに保存されています。