{"id":32149,"date":"2021-03-04T12:41:01","date_gmt":"2021-03-04T19:41:01","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/dotnet\/?p=32149"},"modified":"2021-03-04T20:52:21","modified_gmt":"2021-03-05T03:52:21","slug":"learn-to-build-http-apis-with-net","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/learn-to-build-http-apis-with-net\/","title":{"rendered":"Learn to build HTTP APIs with .NET"},"content":{"rendered":"<p>ASP.NET makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. Whether you&#8217;re new to .NET or an old pro, we&#8217;ve got a lot of fresh videos, tutorials, and documentation to help you learn how to build great HTTP APIs.<\/p>\n<h2>Getting Started<\/h2>\n<p>If you&#8217;re just getting started with building Web APIs on .NET, we&#8217;ve got some great content to get you started!<\/p>\n<h3>Get a quick start Microsoft Learn<\/h3>\n<p>You can get a quick start on Web API fundamentals and building your first web API with ASP.NET Core using the self guided, interactive learning modules at Microsoft Learn.<\/p>\n<p>First, learn the fundamental concepts with the <a href=\"https:\/\/docs.microsoft.com\/learn\/modules\/use-apis-discover-museum-art\/?WT.mc_id=dotnet-13135-jogallow\">Explore the art world by using RESTful APIs<\/a> module &#8211; and have some fun exploring museum APIs while you&#8217;re doing it! This is a brand new course from <a href=\"https:\/\/twitter.com\/jenlooper\">Jen Looper<\/a>, with .NET contributions from <a href=\"https:\/\/twitter.com\/CodeMillMatt\">Matthew Soucoup<\/a>, and it&#8217;ll have you started with web APIs in minutes.<\/p>\n<p>Next, move on to the <a href=\"https:\/\/docs.microsoft.com\/learn\/modules\/build-web-api-aspnet-core\/?WT.mc_id=dotnet-13135-jogallow\">Create a web API with ASP.NET Core<\/a> module to learn how to add data operations to an ASP.NET Core Web API and test the HTTP responses.<\/p>\n<h3>Let&#8217;s Learn .NET: Web API<\/h3>\n<p>We just launched <a href=\"https:\/\/aka.ms\/letslearndotnet?WT.mc_id=dotnet-13135-jogallow\">Let&#8217;s Learn .NET<\/a>, a new monthly series of beginner friendly courses to teach you the basics. Cecil Phillip and Jayme Singleton walk through the above two tutorials in two hours, with simple explanations and Q&amp;A from live viewers.<\/p>\n<p><iframe width=\"800\" height=\"450\" src=\"https:\/\/channel9.msdn.com\/Shows\/lets-learn-dotnet\/Web-APIs\/player?WT.mc_id=dotnet-13135-jogallow\" allowfullscreen><\/iframe><\/p>\n<h3>Beginner&#8217;s Series to: Web APIs<\/h3>\n<p>We&#8217;ve also got a brand new <a href=\"https:\/\/channel9.msdn.com\/Series\/Beginners-Series-to-Web-APIs?WT.mc_id=dotnet-13135-jogallow\">Beginner&#8217;s Series to: Web APIs<\/a> video series from Cecil Phillip. This introductory video series will walk you through the fundamental concepts you need to know to get started with building Web APIs using ASP.NET Core. We will cover topics such as routing, validation, working with data, and much more.\n<iframe width=\"800\" height=\"450\" src=\"https:\/\/channel9.msdn.com\/Series\/Beginners-Series-to-Web-APIs\/What-are-Web-APIs-1-of-18--Beginners-Series-to-Web-APIs\/player?WT.mc_id=dotnet-13135-jogallow\" allowfullscreen><\/iframe><\/p>\n<h2>Going Deeper<\/h2>\n<p>ASP.NET Core makes it easy to get started with HTTP APIs, but there&#8217;s a lot more to learn to optimize your API design and usage. Fortunately, Brady Gaster&#8217;s got you covered with a fantastic blog post series:<\/p>\n<ul>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/aspnet\/creating-discoverable-http-apis-with-asp-net-core-5-web-api\/?WT.mc_id=dotnet-13135-jogallow\">Creating Discoverable HTTP APIs with ASP.NET Core 5 Web API<\/a><\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/aspnet\/open-source-http-api-packages-and-tools\/?WT.mc_id=dotnet-13135-jogallow\">Open-source HTTP API packages and tools<\/a><\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/aspnet\/generating-http-api-clients-using-visual-studio-connected-services\/?WT.mc_id=dotnet-13135-jogallow\">Generating HTTP API clients using Visual Studio Connected Services<\/a><\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/aspnet\/app-building-with-azure-api-management-functions-power-apps-and-logic-apps\/?WT.mc_id=dotnet-13135-jogallow\">App Building with Azure API Management, Functions, Power Apps, and Logic Apps<\/a><\/li>\n<\/ul>\n<p>Brady covers a treasure trove of information in this series, showing how to build great HTTP APIs, then publish and consume them from a variety of client applications including low-code solutions like Azure Functions, Power Apps, and Logic Apps.<\/p>\n<p>After wrapping up the blog series, Brady came on the <a href=\"https:\/\/www.youtube.com\/watch?v=Mpf0fCO6NrU&amp;list=PLdo4fOcmZ0oX-DBuRG4u58ZTAJgBAeQ-t&amp;index=3\">ASP.NET Community Standup<\/a> to walk through the code with us.<\/p>\n<p><iframe width=\"800\" height=\"450\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/Mpf0fCO6NrU?start=141\" allowfullscreen><\/iframe><\/p>\n<h2>Putting your Web APIs to Work<\/h2>\n<p>The great thing about building Web APIs is that they&#8217;re so versatile. You can consume them from a variety of clients, and integrate with your favorite open source tools.<\/p>\n<p>James and Brady chatted about <a href=\"https:\/\/channel9.msdn.com\/Shows\/XamarinShow\/Web-APIs-for-Xamarin-Developers--The-Xamarin-Show?WT.mc_id=dotnet-13135-jogallow\">Web APIs for Xamarin Developers<\/a> on the Xamarin Show. It&#8217;s a great conversation between a Xamarin expert and a Web API expert.<\/p>\n<p><iframe width=\"800\" height=\"450\" src=\"https:\/\/channel9.msdn.com\/Shows\/XamarinShow\/Web-APIs-for-Xamarin-Developers--The-Xamarin-Show\/player?WT.mc_id=dotnet-13135-jogallow\" allowfullscreen><\/iframe><\/p>\n<p>Luis Quintanilla posted about how to <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/serve-ml-net-models-as-http-apis-with-minimal-configuration\/?WT.mc_id=dotnet-13135-jogallow\">Serve ML.NET Models as HTTP APIs with minimal configuration<\/a>. This blog post shows how to build a highly scalable machine learning web services in about 60 lines of code.<\/p>\n<p>Cecil Phillip had two guests on the <a href=\"https:\/\/dotnetwebsitestorage.blob.core.windows.net\/blob-assets\/images\/live\/on-dotnet-live.png\">On .NET Live Show<\/a> in February to talk to creators of some popular community projects:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=SCR1IdW0PCk&amp;list=PLdo4fOcmZ0oV2fcY7wsQHx4RNWXEDKgm4&amp;index=17\">Generating docs for ASP.NET Core Web APIs with Swashbuckle<\/a> with Richard Morris<\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=LfPc0sitoR4&amp;list=PLdo4fOcmZ0oV2fcY7wsQHx4RNWXEDKgm4&amp;index=18\">Creating GraphQL APIs with a little Hot Chocolate<\/a> with Michale Staib<\/li>\n<\/ul>\n<p>And Brady (quite busy this month!) also joined Mads Kristensen for\n<a href=\"https:\/\/www.youtube.com\/watch?v=9S_SVumTWi8&amp;list=PLReL099Y5nRem6UA4w849hTfd0LzBIsAk&amp;index=0\">Visual Studio Remote Office Hours<\/a> to discuss .NET Web API tooling in Visual Studio.<\/p>\n<h2>Looking Forward<\/h2>\n<p>If you&#8217;ve kept up with all of that, you&#8217;re now an expert on .NET HTTP APIs, and you want to see what&#8217;s coming next! Cory Neslson joined us on the <a href=\"https:\/\/live.dot.net\">ASP.NET Community Standup<\/a> to review a proposal for a <a href=\"https:\/\/www.youtube.com\/watch?v=xoYkk5jk8d0&amp;list=PLdo4fOcmZ0oX-DBuRG4u58ZTAJgBAeQ-t&amp;index=7\">Flexible HTTP APIs<\/a> feature to allow you to build lightweight, high performance HTTP clients with .NET.<\/p>\n<p><iframe width=\"800\" height=\"450\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/xoYkk5jk8d0?start=121\" allowfullscreen><\/iframe><\/p>\n<h2>Closing<\/h2>\n<p>ASP.NET makes it easy to build services that reach a broad range of clients, including browsers and mobile devices. It&#8217;s easy to get started and learn, and it scales up to work with open standards and clients. We hope these resources will help you, wherever you are on your development journey!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ASP.NET makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. Whether you&#8217;re new to .NET or an old pro, we&#8217;ve got a lot of fresh videos, tutorial, and documentation to help you learn how to build great HTTP APIs.<\/p>\n","protected":false},"author":470,"featured_media":32151,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[685,197],"tags":[4,7229,7230],"class_list":["post-32149","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-aspnet","tag-net","tag-http-apis","tag-web-api"],"acf":[],"blog_post_summary":"<p>ASP.NET makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. Whether you&#8217;re new to .NET or an old pro, we&#8217;ve got a lot of fresh videos, tutorial, and documentation to help you learn how to build great HTTP APIs.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/32149","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/470"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=32149"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/32149\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/32151"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=32149"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=32149"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=32149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}