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
Yuta Matsumura
May 31, 2023
Technology
0
5k
Web API development in Visual Studio 2022
https://dotnet-communities.connpass.com/event/277868/
での資料です
Yuta Matsumura
May 31, 2023
Tweet
Share
More Decks by Yuta Matsumura
See All by Yuta Matsumura
これからはじめる Model Context Protocol
tsubakimoto_s
0
32
Cloudflare の MCP サーバーをためしてみた
tsubakimoto_s
1
31
re:Invent の裏でアップデートされていた .NET Aspire で統合するAWS のクラウドリソース
tsubakimoto_s
1
100
.NET AspireでAzure Functionsやクラウドリソースを統合する
tsubakimoto_s
0
300
Microsoft Entra External IDとAzure AD B2C
tsubakimoto_s
0
1.8k
Minimal Observability on Minimal API
tsubakimoto_s
0
110
ワークフローのコピペを自作で解消した話
tsubakimoto_s
0
84
Azure AI ことはじめ
tsubakimoto_s
0
680
Azureのコアサーバーレス Azure Functions
tsubakimoto_s
0
690
Other Decks in Technology
See All in Technology
AI時代だからこそ考える、僕らが本当につくりたいスクラムチーム / A Scrum Team we really want to create in this AI era
takaking22
6
3.6k
Azure SynapseからAzure Databricksへ 移行してわかった新時代のコスト問題!?
databricksjapan
0
150
20250929_QaaS_vol20
mura_shin
0
130
LLM時代にデータエンジニアの役割はどう変わるか?
ikkimiyazaki
4
860
自動テストのコストと向き合ってみた
qa
0
190
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
20k
Modern_Data_Stack最新動向クイズ_買収_AI_激動の2025年_.pdf
sagara
0
220
Why React!?? Next.jsそしてReactを改めてイチから選ぶ
ypresto
10
4.5k
AI Agentと MCP Serverで実現する iOSアプリの 自動テスト作成の効率化
spiderplus_cb
0
510
SREとソフトウェア開発者の合同チームはどのようにS3のコストを削減したか?
muziyoshiz
1
100
M5製品で作るポン置きセルラー対応カメラ
sayacom
0
160
JAZUG 15周年記念 × JAT「AI Agent開発者必見:"今"のOracle技術で拡張するAzure × OCIの共存アーキテクチャ」
shisyu_gaku
0
120
Featured
See All Featured
Become a Pro
speakerdeck
PRO
29
5.5k
The Cost Of JavaScript in 2023
addyosmani
53
9k
Being A Developer After 40
akosma
91
590k
Thoughts on Productivity
jonyablonski
70
4.9k
Automating Front-end Workflow
addyosmani
1371
200k
How STYLIGHT went responsive
nonsquared
100
5.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
32
2.2k
Context Engineering - Making Every Token Count
addyosmani
5
200
Bash Introduction
62gerente
615
210k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
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.