ASP.NET CoreでWeb APIを作ってみる -Web APIの追加

はじめに

今回は、これまで開発してきたアプリケーションにWeb APIを追加してみます。

実装

スキャフォールディングの機能を使うことで、簡単にWeb APIのコードを追加することができます。
以下のコマンドを実行してください。

$ dotnet aspnet-codegenerator controller -name UsersController -async -api -m User -dc UserContext -outDir Controller/Users

このコマンドを実行すると、Controller/Usersディレクトリの中にUsersController.csというファイルが作られます。
Web APIのリクエストを受け取ったあとに行われる処理はここに記述されています。
次に、Startup.csのConfigure()メソッド内のapp.UseEndpoints()に以下のように追記します。

app.UseEndpoints(endpoints =>
{
    endpoints.MapRazorPages();
    endpoints.MapControllers();
});

動作確認

ブラウザでhttps://localhost:5001/api/Usersにアクセスすると、データベースに記録されているデータがJSON形式で返されます。
https://localhost:5001/api/Users/1にアクセスすると、IDが1のデータのみが返されます。
もちろん、これまで開発したWebアプリケーションの画面も使えるので、データの登録や修正も可能です。

おわりに

Entity Frameworkのスキャフォールディングの機能を使うことで、非常に簡単にRazorページWebアプリにWeb APIを追加することができました。
次回もWeb APIを扱っていこうと思います。