【雑に】 ASP.NET Core API まとめ【随時更新】

ASP.NET Core APIについて僕が調べたことが、雑にまとまっています。API接続テストの仕方で、これ以外のおすすめのやり方がありましたら、教えていただけると幸いです。実装コードもあるので、そちらもよかったら参考に。

こんにちは、松井です。

このページには、僕がASP.NET Core APIについて調べたことが雑にまとまっています。

調べただけで、信ぴょう性が定かでないモノもありますので、ご参考程度にご利用ください。

このページは、コメント欄を開放しておりますので、
質問・訂正依頼等ありましたら、そちらへよろしくお願いいたします。大変助かります。

 

もしかしたら、ひとによっては、
実装コードすべてみたほうが早いかもしれません。

>>GitHub にあがってますので、こちらをどうぞ。

どんな機能が実装されているかは、ここ👇にまとめてありますので、
気になるものを使ってみては! と、思います。

>>アプリケーション全体図

スキャフォールディング

メニューから、

「新規スキャンフォールディング アイテムの追加」
>> 「Entity Framework を使用したアクションがあるAPIコントローラー」

を実行するときの話。

スキャフォールディングに必要な前準備

・Entitiyの作成
・ContextにEntityの追加。(Contextがなければ、作成する)
・(してなければ、Program.csに、DbContextの設定を行う)

参考:チュートリアル: ASP.NET Core で Web API を作成する

スキャフォールディングの後に必要な作業

・Migrationの作成 + DBへの反映

【例 )TwitterTweetContextを追加した場合】
以下のコマンドを実行。

$ dotnet ef migrations add InitialCreate -c TwitterTweetContext
$ dotnet ef database update -c TwitterTweetContext

実行後に、ずらずら~~っと、
色々コンソールに出力された後に、

「Done.」

と表示されたら、成功です。
(これが出てない場合は、いまいちど確認が必要です。)

 

【確認方法】

今回作成したAPIに対して、HTTPリクエストをかけると、エラー内容をいろいろ教えてくれます。

下記で紹介している「REST Client」を使うと、エラー内容もわかりやすいどす。

【エラー:パッケージの復元に失敗しました】への対応

【 現象 】

「新規スキャンフォールディング アイテムの追加」
>> 「Entity Framework を使用したアクションがあるAPIコントローラー」

を実行したあとに、

「パッケージの復元に失敗しました」というエラーメッセージが表示される。

【 原因】

インストールしているパッケージのバージョンが揃っていなかったことが原因。

【 解決方法 】

「NuGetパッケージマネージャー」から、更新プログラムをすべて走らすことで解決。

 

あまり意識したことありませんしたが、
バージョンが変わると、こんなエラーが起こるんですね。

これに気づくのに、40分くらいかかりました…。平日の夜の時間が ( ´ー`)y-~~

 

参考:VisualStudio2019でスキャフォールディングで失敗する原因を突き止めたい。【エラー:パッケージの復元に失敗しました】

API接続テスト

コンソールで実行してテストする

■初回接続(コンソールで実行)

httprepl https://localhost:7233/api/twitter --verbose

■それ以降

connect https://localhost:7233/api/twitter --verbose

正しく設定されていれば、
「Successful」と表示されます。
(出ない場合は、どこかにエラーがあります。)

エラー内容は、
「REST Client」を使った方が分かりやすいので、
最近は、もっぱら「REST Client」をよく使っています。

VS Codeで「REST Client」でテストする [ ★おすすめ ]

「REST Client」を使えば、
HTTPリクエストを送信・レスポンスの確認が VS Code上から簡単にできます。

これは、とってもオススメです。

 

例えば、GETリクエストの場合、

###
GET https://localhost:7233/api/twitter/users

VS Codeの画面で、こんな感じで実行できます。

左タブの「~.http」ファイルに、HTTPリクエストを書き込んで、
それを、選んで、実行していけます。

 

ちなみに、これの超便利ポイントは、
httpコマンドをテキスト保存しておけるところです。(地味ですが、これが強い)

僕の場合、httpコマンドを使う機会が少ないので、
毎回うろ覚えで動作確認しているんですけど、

前回に使用したhttpコマンドが残っていれば、それだけでだいぶ助かります。

 

いままでも、メモ帳に残したりしてましたけど、
書き忘れたり、途中からサボって書かないことも多かったんですよね。笑

でも、「REST Client」であれば、
そこに書いたことが、そのまま実行されて、そのまま保存できるので、
コピペの手間と、メモの管理がかなーーり楽になります。

あと、「Gitで管理しておけば、他のひとも使える」っていうのもポイント高いですね。

 

▼ ちなみに、POSTのときはこんな感じです。

###
POST https://localhost:7233/api/twitter/users
Accept: application/json
Content-Type: application/json

{
    "ownedUserId": 123456,
    "div": "F",
    "tag": "",
    "name": "0H1de",
    "screenName": "ひでりん"
}

「REST Client」について、詳しくはこちらの記事をどうぞ。

参考:VS Code上でHTTPリクエストを送信し、VS Code上でレスポンスを確認できる「REST Client」拡張の紹介

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です