Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gsuke/api-platform

Generic REST API platform that allows you to create REST resources dynamically
https://github.com/gsuke/api-platform

asp-net aspnetcore csharp docker dotnet json-schema postgresql webapi

Last synced: about 22 hours ago
JSON representation

Generic REST API platform that allows you to create REST resources dynamically

Awesome Lists containing this project

README

        

= API Platform

ユーザが動的にリソースを作成および利用できる汎用的なAPI基盤。
任意のリソースを作成し、そのリソースに対してCRUDを実行できます。

※ 開発中

== Demo

. 試しに、ToDo管理のためのリソース「**todo**」を作成してみます。
+
image::docs/imgs/demo-001.png[]
+
.todoリソースのデータスキーマの詳細
|===
|プロパティ名|型|役割

|id|文字列|主キーになる
|task_name|文字列|タスクの名前
|===

. 作成したToDo管理リソースに対して、Postメソッドを実行してタスクを追加します。
+
image::docs/imgs/demo-002.png[]

. Getメソッドを実行することで、追加したタスク一覧を確認できます。
+
image::docs/imgs/demo-003.png[]

. 他にもDeleteなどのCRUDが実装されています。データスキーマを好きな形に変更することによって、様々なユースケースで活用できます。

== Usage

=== Requirements

.実行環境
* https://docs.microsoft.com/ja-jp/dotnet/core/install/[.NET 6]
* Docker

.ツール
* https://code.visualstudio.com/[Visual Studio Code] (開発環境)
* https://www.postman.com/[Postman] などの Web API テストツール
* https://dbeaver.io/[DBeaver] などのSQLクライアントツール

=== Installation

. docker ディレクトリ内で `docker-compose up -d` を実行する。

. docker/.env ファイルのデータベース接続情報を書き換える。

. DBeaver を用いてデータベースにアクセスする。アクセス情報の例は以下。(.envファイルを書き換えていない場合)
+
* Host: localhost
* Port: 5432
* データベース名: db
* ユーザ名: root
* パスワード: pass

. docker/ddl.sql ファイルのテーブル生成SQLを実行する。

. VS Code で Gsuke.ApiPlatform ディレクトリを開く。

. Ctrl + F5 キーを押下してプロジェクトを実行する。

. Postman を用いて https://localhost:7033/resource にアクセスし、 `[]` が返却されることを確認する。
+
image::docs/imgs/installation-001.png[]
+
image::docs/imgs/installation-002.png[]

=== Tutorials

※ 執筆中

=== Documents

link:docs/index.adoc[※ 執筆中]

== License

link:LICENSE[MIT LICENSE]

== 今後の予定

* 自動テストを実装
* デプロイ