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
4.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
re:Invent の裏でアップデートされていた .NET Aspire で統合するAWS のクラウドリソース
tsubakimoto_s
1
59
.NET AspireでAzure Functionsやクラウドリソースを統合する
tsubakimoto_s
0
270
Microsoft Entra External IDとAzure AD B2C
tsubakimoto_s
0
1.1k
Minimal Observability on Minimal API
tsubakimoto_s
0
89
ワークフローのコピペを自作で解消した話
tsubakimoto_s
0
65
Azure AI ことはじめ
tsubakimoto_s
0
620
Azureのコアサーバーレス Azure Functions
tsubakimoto_s
0
620
米国カンファレンスで活躍したAzure AI Speech
tsubakimoto_s
0
760
GitHub Codespaces Updates
tsubakimoto_s
0
520
Other Decks in Technology
See All in Technology
大事なのは、AIの精度だけじゃない!〜1円のズレも許されない経理領域とAI〜
jun_nemoto
9
4.8k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
8
65k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
17k
OTel meets Wasm: プラグイン機構としてのWebAssemblyから見る次世代のObservability
lycorptech_jp
PRO
0
230
AIエージェントデザインパターンの選び方
almondo_event
0
110
iOS/Androidで無限循環Carousel表現を考えてみる
fumiyasac0921
0
110
CloudTrailも、GuardDutyも、VPC Flow logsも… ログ多すぎ問題の整理術
nikuyoshi
5
570
RDRA3.0を知ろう
kanzaki
2
370
The Ultimate Showdown of Database Migration Tools
asm0dey
0
150
ソフトウェアは捨てやすく作ろう/Let's make software easy to discard
sanogemaru
8
4.1k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.6k
Roo Codeにすべてを委ねるためのルール運用
pharma_x_tech
1
110
Featured
See All Featured
Docker and Python
trallard
44
3.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
GitHub's CSS Performance
jonrohan
1031
460k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Building an army of robots
kneath
306
45k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
Statistics for Hackers
jakevdp
799
220k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
15
880
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
A better future with KSS
kneath
239
17k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
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.