Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Web API development in Visual Studio 2022
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yuta Matsumura
May 31, 2023
Technology
5.5k
0
Share
Web API development in Visual Studio 2022
https://dotnet-communities.connpass.com/event/277868/
での資料です
Yuta Matsumura
May 31, 2023
More Decks by Yuta Matsumura
See All by Yuta Matsumura
github/awesome-copilotのPHPのエージェントスキルを読む
tsubakimoto_s
0
53
エージェントスキルを作って自分のインプットに役立てよう v2
tsubakimoto_s
0
41
エージェントスキルを作って自分のインプットに役立てよう
tsubakimoto_s
0
710
やさしいとこから始めるGitHubリポジトリのセキュリティ
tsubakimoto_s
3
2.5k
GitHub Copilot CLI で Azure Portal to Bicep
tsubakimoto_s
0
410
使って学ぼう MCP (と GitHub Codespaces)
tsubakimoto_s
1
310
GitHub Copilot CLI を使いやすくしよう
tsubakimoto_s
1
400
AspireとGitHub Modelsで作るお手軽AIアプリ
tsubakimoto_s
0
110
Memories of GitHub Universe & San Francisco
tsubakimoto_s
0
83
Other Decks in Technology
See All in Technology
さきさん文庫の書籍ができるまで
sakiengineer
0
340
Ruby::Boxでできること、Refinementsでできること
joker1007
3
380
AIを「創る」と「使う」の循環 — HRテックが実践するリアルなAI組織実装
taketo957
0
1.4k
新アーキテクチャ「TiDB X」解説とDedicated比較 TiDB Cloud Premiumのゲーム運用活用を検証
staffrecruiter
0
110
そのPoC、何を検証したつもりでしたか? AIプロダクトの価値検証で陥った落とし穴
techtekt
PRO
0
140
正解のないAIプロダクトをどう導くか?dodaが挑む、ユーザーの『本音』を構造化する評価設計と検証のリアル
techtekt
PRO
0
180
実装は速くなった、レビューはどうする? ― 自身のレビューをAIで再現させるサーヴァントエンジニアリングのすゝめ / Implementation got faster. So what about reviews? — An invitation to Servant Engineering: Recreating your own code reviews with AI
nrslib
6
3.6k
AI活用を推進するために ファインディが下した、一つの小さな決断
starfish719
0
240
Sony_KMP_Journey_KotlinConf2026
sony
2
210
Djangoユーザが知っ得なPostgreSQL機能 - 設計の選択肢を増やす / Djang-use-PostgreSQL
soudai
PRO
0
160
AI フレンドリーなエラー監視を TypeScript で実現する
shinyaigeek
2
250
AIプラットフォームを運用し続けるための可観測性
tanimuyk
4
1.1k
Featured
See All Featured
How to make the Groovebox
asonas
2
2.2k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
940
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
Optimizing for Happiness
mojombo
378
71k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
300
Joys of Absence: A Defence of Solitary Play
codingconduct
1
390
Paper Plane (Part 1)
katiecoart
PRO
0
8.5k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Statistics for Hackers
jakevdp
799
230k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
160
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Transcript
#dotnetjpcommunities Web API development in Visual Studio 2022 2023/05/31 .NET
の 3 日間 day1 Yuta Matsumura © 2023 Yuta Matsumura.
#dotnetjpcommunities 松村 優大 (Yuta Matsumura) Currently working for © 2023
Yuta Matsumura. Chief Technical Architect C#, PHP, Azure, GitHub が好き Microsoft MVP (Developer Technologies) #fukuten #devblogradio の中の人 @tsubakimoto_s
#dotnetjpcommunities © 2023 Yuta Matsumura.
#dotnetjpcommunities © 2023 Yuta Matsumura. 2023年6月24日 (土) 福岡市で開催 #phpconfuk
#dotnetjpcommunities © 2023 Yuta Matsumura. 2023年8月3日 (木) 福岡市で開催 #cndf2023 プロポーザル募集中
event.cloudnativedays.jp/cndf2023
#dotnetjpcommunities これからお話しすること Visual Studio 2022 での Web API 開発に関する最近の技術 https://devblogs.microsoft.com/visualstudio/web-api-
development-in-visual-studio-2022/ © 2023 Yuta Matsumura.
#dotnetjpcommunities 前提:Visual Studio 2022 17.7.0 Preview 1.0 © 2023 Yuta
Matsumura. https://visualstudio.microsoft.com/
#dotnetjpcommunities 目次 1. Visual Studio でのスキャフォールド 2. Visual Studio での
Entity Framework Core サポート 3. Visual Studio でのエンドポイントエクスプローラー 4. Visual Studio での REST クライアント 5. (おまけ)Visual Studio dev tunnels © 2023 Yuta Matsumura.
#dotnetjpcommunities プロジェクトの作成 © 2023 Yuta Matsumura.
#dotnetjpcommunities プロジェクトの作成 © 2023 Yuta Matsumura.
#dotnetjpcommunities プロジェクトの作成 © 2023 Yuta Matsumura.
#dotnetjpcommunities 最小限の API = Minimal API • ASP.NET Core 6.0
で登場した機能 • 依存関係が最小限の Web API を作成 • ルーティングで構成するエンドポイント定義 (ApiContollerを使わない) © 2023 Yuta Matsumura. https://learn.microsoft.com/ja-jp/aspnet/core/fundamentals/minimal-apis
#dotnetjpcommunities #dotnetjpcommunities Program.cs
#dotnetjpcommunities © 2023 Yuta Matsumura. https://speakerdeck.com/tsubakimoto_s/minimal-api-to-di-noliang-izu-mihe-wase
#dotnetjpcommunities プロジェクトの作成 © 2023 Yuta Matsumura.
#dotnetjpcommunities #dotnetjpcommunities のサポート © 2023 Yuta Matsumura.
#dotnetjpcommunities #dotnetjpcommunities 定義を設定した エンドポイント © 2023 Yuta Matsumura.
#dotnetjpcommunities スキャフォールドの実施 © 2023 Yuta Matsumura.
#dotnetjpcommunities #dotnetjpcommunities こういうクラスがあったとします © 2023 Yuta Matsumura.
#dotnetjpcommunities © 2023 Yuta Matsumura.
#dotnetjpcommunities © 2023 Yuta Matsumura.
#dotnetjpcommunities © 2023 Yuta Matsumura.
#dotnetjpcommunities スキャフォールディング後 • DB コンテキスト • 接続文字列の設定 (appsettings.json) • エンドポイントの定義
• EF Core ツールのインストール • Microsoft.EntityFrameworkCore.Sqlite • Microsoft.EntityFrameworkCore.Tools • Microsoft.VisualStudio.Web.CodeGenerati on.Design © 2023 Yuta Matsumura.
#dotnetjpcommunities #dotnetjpcommunities エンドポイント © 2023 Yuta Matsumura.
#dotnetjpcommunities © 2023 Yuta Matsumura.
#dotnetjpcommunities EF Core でのマイグレーション © 2023 Yuta Matsumura.
#dotnetjpcommunities © 2023 Yuta Matsumura.
#dotnetjpcommunities © 2023 Yuta Matsumura.
#dotnetjpcommunities © 2023 Yuta Matsumura.
#dotnetjpcommunities Web API エンドポイントエクスプローラー © 2023 Yuta Matsumura.
#dotnetjpcommunities © 2023 Yuta Matsumura.
#dotnetjpcommunities #dotnetjpcommunities エンドポイントエクスプローラーのサポート © 2023 Yuta Matsumura.
#dotnetjpcommunities 表示>その他のウィンドウ © 2023 Yuta Matsumura.
#dotnetjpcommunities © 2023 Yuta Matsumura.
#dotnetjpcommunities © 2023 Yuta Matsumura.
#dotnetjpcommunities #dotnetjpcommunities ... 変数 ... HTTPリクエスト(GET) 区切り © 2023 Yuta
Matsumura.
#dotnetjpcommunities #dotnetjpcommunities ... 変数 ... HTTPリクエスト(POST) リクエストヘッダー リクエストヘッダー リクエストボディ 変数の埋込
© 2023 Yuta Matsumura.
#dotnetjpcommunities VS の REST Client • .http 拡張子、または .rest 拡張子
• 以前は REST Client 拡張機能が必要だった • 今は Visual Studio がサポートしている • VS Code でも同様のことができる https://marketplace.visualstudio.com/items?itemName=humao.rest-client © 2023 Yuta Matsumura.
#dotnetjpcommunities VS の REST Client でまだできないこと • OPTIONS メソッド •
複数行にわたるリクエスト • 名前付きリクエスト • 動的変数 • 環境ファイル • リクエストボディのファイルパス 指定 • multipart/form-data を使用する場 合の本文の混合形式 • GraphQL リクエスト • cURLリクエスト • cURL としてコピー/貼り付け • リクエスト履歴 • 応答本文をファイルに保存する • 証明書ベースの認証 • プロンプト変数 • システム変数 • 応答プレビューのカスタマイズ • リクエストごとの設定 © 2023 Yuta Matsumura.
#dotnetjpcommunities (おまけ)Visual Studio dev tunnels © 2023 Yuta Matsumura.
#dotnetjpcommunities ローカル環境 Web API の動作確認 © 2023 Yuta Matsumura. https://example.com/...
https://localhost/... 到達しない!
#dotnetjpcommunities ローカル環境 Web API の動作確認 © 2023 Yuta Matsumura. https://example.com/...
https://xxx.ngrok.io/...
#dotnetjpcommunities ローカル環境 Web API の動作確認 © 2023 Yuta Matsumura. https://example.com/...
https://xxx.devtunnels.ms/...
#dotnetjpcommunities Visual Studio dev tunnels • Visual Studio 2022 17.5
Preview から登場 • ローカルの Web エンドポイントを外部公開する • 一時的または永続的なエンドポイント • アクセス制御可能 • HTTPS プロトコルで提供される © 2023 Yuta Matsumura. https://learn.microsoft.com/ja-jp/connectors/custom-connectors/port-tunneling
#dotnetjpcommunities © 2023 Yuta Matsumura. 一時的・永続的 非公開・組織用・公開用
#dotnetjpcommunities dev tunnels のアクセス制御 種類 アクセス範囲 非公開 (Private) 作成者のみ 組織用
(Organization) 同一組織アカウントのみ (MSAやGitHubアカウントでは非公開と同じ) 公開用 (Public) 認証なし © 2023 Yuta Matsumura.
#dotnetjpcommunities 初回アクセス時 © 2023 Yuta Matsumura.
#dotnetjpcommunities © 2023 Yuta Matsumura.
#dotnetjpcommunities ご清聴ありがとうございました © 2023 Yuta Matsumura.