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.9k
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
93
.NET AspireでAzure Functionsやクラウドリソースを統合する
tsubakimoto_s
0
300
Microsoft Entra External IDとAzure AD B2C
tsubakimoto_s
0
1.5k
Minimal Observability on Minimal API
tsubakimoto_s
0
110
ワークフローのコピペを自作で解消した話
tsubakimoto_s
0
83
Azure AI ことはじめ
tsubakimoto_s
0
670
Azureのコアサーバーレス Azure Functions
tsubakimoto_s
0
670
米国カンファレンスで活躍したAzure AI Speech
tsubakimoto_s
0
810
GitHub Codespaces Updates
tsubakimoto_s
0
540
Other Decks in Technology
See All in Technology
事業価値と Engineering
recruitengineers
PRO
3
1.7k
Webアクセシビリティ入門
recruitengineers
PRO
2
510
Devinを使ったモバイルアプリ開発 / Mobile app development with Devin
yanzm
0
190
VPC Latticeのサービスエンドポイント機能を使用した複数VPCアクセス
duelist2020jp
0
280
Preferred Networks (PFN) とLLM Post-Training チームの紹介 / 第4回 関東Kaggler会 スポンサーセッション
pfn
PRO
1
250
Goでマークダウンの独自記法を実装する
lag129
0
220
「AI2027」を紐解く ― AGI・ASI・シンギュラリティ
masayamoriofficial
0
110
実践アプリケーション設計 ①データモデルとドメインモデル
recruitengineers
PRO
4
520
JavaScript 研修
recruitengineers
PRO
4
480
実践アプリケーション設計 ③ドメイン駆動設計
recruitengineers
PRO
8
930
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
30k
Goss: Faiss向けの新しい本番環境対応 Goバインディング #coefl_go_jp
bengo4com
0
1.4k
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
695
190k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Music & Morning Musume
bryan
46
6.7k
The Cult of Friendly URLs
andyhume
79
6.6k
Thoughts on Productivity
jonyablonski
69
4.8k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
480
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
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.