Beyond Basics - RESTful API with ASP.NET Core and EF Core

  • Course provided by Udemy
  • Study type: Online
  • Starts: Anytime
  • Price: See latest price on Udemy
Udemy

Course Description

Thank you for checking out my course.

So what is the course all about? As the name – “Creating RESTful API with ASP .Net Core 3.0 and Entity Framework Core” implies, we will dive into building an API using REST principles. We’ll use Entity Framework Core for persisting our data in database and ASP .Net Core 3.0 framework for interacting with it.

What will we build.

Simple answer is CRUD API that uses GET, POST, PUT, PATCH, and DELETE verbs to manipulate the resources for music Bands and the Bands Albums. However we’ll do so much more than that! We will also let our API to filter and sort resources; apply pagination to limit the number of resources per page; implement Data Shaping to allow the user specify which properties should be returned and which ones can be ignored; we’ll let the user to create a collection of resources with a single API request; support Json and XML; add Upserting, which is creating a new resource with update, if the resource doesn’t yet exists, and we’ll implementing it both for PUT and PATCH verbs; we’ll implement input validation, both with IValidatable Object and we’ll also create a Custom Validation Attribute; we’ll have a close look at status codes and make sure they adhere to REST principles; we’ll use OPTIONS and HEAD verbs and explore how and why to use them; and we’ll add custom headers to our responses. Of course, we will work heavily with Entities and Data Transfer Objects (DTO). And all of that will be implemented via Repository Pattern.

Prerequisites.

As you can see, it truly is Beyond Basics course. Although the course is suitable for all levels, because it covers the basics and more advanced topics, you are expected to have a good command of C# language, especially if you want to follow the advanced parts. You should also be familiar with MVC patter and REST principles as those are not discussed in any detail.

Who is this course for.

This course goes beyond the basics. It's for everyone who wants to learn how to create RESTful API with ASP.Net Core 3.0. NOTE: this is not a beginners course! It's designed for intermediate and advance level programmers

Whether you never created an API, or are familiar with the basics and want to explore more advanced topics, you will find this course perfect for you. As long as you have solid C# skills, you will be able to follow along. Everything is coded on camera, and each line of code is explained in detail, so you will never be lost and always know WHAT we are doing, and equally important, WHY we are doing it.

Are you ready to dive into creating RESTful API? If so, let’s together jump into .Net Core 3.0 and create a well-built API that follows REST principles.

See you in the course.

Who this course is for:

  • Programmers familiar with basics of API who want to explore more advanced topics
  • Programmers new to REST API creation (but NOT new to C#)
  • Programmers who want to learn how to create solid REST API with .Net Core 3
  • Developers who want to move to .Net Core 3 from previous versions
  • Self-taught programmers with intermediate level of C# language skills

Instructor

Computer Programmer at Berkshire Hathaway Company
  • 4.5 Instructor Rating
  • 2,301 Reviews
  • 38,066 Students
  • 16 Courses

I am a professional computer programmer for a national insurance company. I am versed in variety of programming languages, technologies, and frameworks. Currently using mostly SQL and .Net.

I have a Bachelor's Degree from City University of Seattle.

I first came in contact with programming back in the good 'ol days of Visual Basic 6 and Visual Basic for Applications. Manipulating Access databasea was so much fun!

I moved onto Web development in early 2000's, using HTML and CSS, later added PHP. It was then when I realized I really enjoyed the coding of the back end much more than the design part...and that joy of coding stayed with me ever since.

I LOVE coding, and I LOVE doing exercises and projects in my free time. I am hoping my courses help you to better understand the programming principles and give you a good starting point for your further adventure in computer programming,

Expected Outcomes

  1. RESTful API creation using ASP .NET Core 3.0 CRUD API functionality using GET, PUT. PATCH, POST, DELETE Filtering Resources Sorting Resources Pagination of Resources Status Codes and Error Reporting Creating Custom Validation Attribute Validattion using IValidatable Object Creating Caching Profiles Caching Resources Repository Pattern Data Shaping Mapping Entities with DTO using AutoMapper Creating Collection of Resources with single API request Additional verbs - OPTIONS, HEAD UPSERTING with PUT and PATCH Supporting JSon and XML Content Types Adding Custom Headers to responses HATEOAS Show more Show less Course content 20 sections • 121 lectures • 9h 0m total length Expand all sections Introduction 1 lecture • 1min Download Source Files 00:12 Setting up the project 2 lectures • 9min Creating the Project Preview 06:25 Adding NuGet Packages Preview 02:09 Setting Up Entities and DbContext 5 lectures • 19min Creating Band Entity Preview 02:41 Creating Album Entity Preview 01:57 Adding Data Annotation 03:23 Adding DbContext 03:29 Adding Script to Seed The Database 07:24 Creating and Implementing Repository Interface 9 lectures • 26min Creating Interface Repository Preview 07:09 Injecting DbContext to Repository Implementation Preview 02:51 AddAlbum Method Implementation 02:19 AddBand Method Implementation 02:45 RemoveBand and RemoveAlbum Method Implementation 01:22 GetAlbum Method Implementation 02:32 GetAlbums Method Implementation 01:30 GetBand and GetBands MEthod Implementation 01:30 GetBandsByIds Method Implementation 03:58 Database Set up 3 lectures • 14min Adding Connection String 05:20 Preparing Database Migration 05:38 Creating Database 03:18 GET - Getting Resources, Setting up Status Codes, JSon, XML, and AutoMapper 14 lectures • 1hr 13min GetBands Request Preview 09:15 GetBand Request Preview 03:55 Returning Status Codes 04:54 Adding Support For XML 06:13 Creating BandDto 04:57 Modifying GetBands To Use Dto Class 03:47 Creating Helper Method FoundedYearsAgo 06:05 Implementing AutoMapper 09:12 Adding Albums Controller 03:32 Creating AlbumDTO 04:17 Implementing GetAlbumsForBand 04:27 Implementing GetAlbumForBand 05:27 Implementing Exception Handling 05:21 Using HTTPHEAD 02:03 Searching and Filtering Resources 3 lectures • 26min Implementing Filtering for Bands 07:46 Implementing Searching 08:48 Grouping Filter and Search Parameters 08:56 POST - Creating Resources 9 lectures • 43min Creating BandDto for Creating New Band Preview 02:00 Creating New Band Preview 06:58 Testing Creation of New Band 04:21 Creating Child Resource - Album for Band 08:22 Testing Album Creation 03:00 Creating Resource and Child Resource in Single API Call -Creating Band and Album 04:32 Creating Collection Of Bands In Single API Call 06:23 Adding Support for OPTIONS 06:07 Content Type Settings 01:16 Data Validation and Errors 4 lectures • 18min Adding Input Validation for Creating Album Preview 04:07 Adding Class Level IValidation with IValidatable Object 04:43 Creating Custom Validatio Attribute 06:08 Customizing Error Responses in Validation Attributes 03:09 PUT- Fully Updating Resources 5 lectures • 27min Creating UpdateAlbumForBand Action 02:51 Finishing Creation of UpdateAlbumForBand Action 06:26 Testing Updating Album For Band 06:35 Improving And Streamlining Validation 08:39 Testing Updating Album For Band With Improved Validation Preview 02:51 10 more sections Requirements Good grasp of C# language (intermediate level recommended) Visual Studio 2019 (any addition) with installed .Net Core 3.0 Basic familiarity with MVC pattern Familiarity with REST principles Basic knowledge of CRUD operations principles Description Thank you for checking out my course. So what is the course all about? As the name – “Creating RESTful API with ASP .Net Core 3.0 and Entity Framework Core” implies, we will dive into building an API using REST principles. We’ll use Entity Framework Core for persisting our data in database and ASP .Net Core 3.0 framework for interacting with it. What will we build. Simple answer is CRUD API that uses GET, POST, PUT, PATCH, and DELETE verbs to manipulate the resources for music Bands and the Bands Albums. However we’ll do so much more than that! We will also let our API to filter and sort resources; apply pagination to limit the number of resources per page; implement Data Shaping to allow the user specify which properties should be returned and which ones can be ignored; we’ll let the user to create a collection of resources with a single API request; support Json and XML; add Upserting, which is creating a new resource with update, if the resource doesn’t yet exists, and we’ll implementing it both for PUT and PATCH verbs; we’ll implement input validation, both with IValidatable Object and we’ll also create a Custom Validation Attribute; we’ll have a close look at status codes and make sure they adhere to REST principles; we’ll use OPTIONS and HEAD verbs and explore how and why to use them; and we’ll add custom headers to our responses. Of course, we will work heavily with Entities and Data Transfer Objects (DTO). And all of that will be implemented via Repository Pattern. Prerequisites. As you can see, it truly is Beyond Basics course. Although the course is suitable for all levels, because it covers the basics and more advanced topics, you are expected to have a good command of C# language, especially if you want to follow the advanced parts. You should also be familiar with MVC patter and REST principles as those are not discussed in any detail. Who is this course for. This course goes beyond the basics. It's for everyone who wants to learn how to create RESTful API with ASP.Net Core 3.0. NOTE: this is not a beginners course! It's designed for intermediate and advance level programmers Whether you never created an API, or are familiar with the basics and want to explore more advanced topics, you will find this course perfect for you. As long as you have solid C# skills, you will be able to follow along. Everything is coded on camera, and each line of code is explained in detail, so you will never be lost and always know WHAT we are doing, and equally important, WHY we are doing it. Are you ready to dive into creating RESTful API? If so, let’s together jump into .Net Core 3.0 and create a well-built API that follows REST principles. See you in the course. Who this course is for: Programmers familiar with basics of API who want to explore more advanced topics Programmers new to REST API creation (but NOT new to C#) Programmers who want to learn how to create solid REST API with .Net Core 3 Developers who want to move to .Net Core 3 from previous versions Self-taught programmers with intermediate level of C# language skills Show more Show less Instructor Pavol Almasi Computer Programmer at Berkshire Hathaway Company 4.5 Instructor Rating 2,301 Reviews 38,066 Students 16 Courses I am a professional computer programmer for a national insurance company. I am versed in variety of programming languages, technologies, and frameworks. Currently using mostly SQL and .Net. I have a Bachelor's Degree from City University of Seattle. I first came in contact with programming back in the good 'ol days of Visual Basic 6 and Visual Basic for Applications. Manipulating Access databasea was so much fun! I moved onto Web development in early 2000's, using HTML and CSS, later added PHP. It was then when I realized I really enjoyed the coding of the back end much more than the design part...and that joy of coding stayed with me ever since. I LOVE coding, and I LOVE doing exercises and projects in my free time. I am hoping my courses help you to better understand the programming principles and give you a good starting point for your further adventure in computer programming, Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'677868e37c324089',m:'00ed007039074f2ff42dedf0af9b9309ab73dc29-1627751109-1800-AVAfLIJqZewEYmopAYVyJcVOiVkRv9UCzVnew81NxfpaI9h6bBhNMgRm3qljQngMPF7IxNPPRRqhzyPqrS4pB8qgSV8CZfiKRLecZX3FQ0NE/72nSLoPzNvrAcjuTN0p6emBSWL8CPM/kKL3ad0P2tPMyYD0GI1H/z2QYYHVOE4p',s:[0x9117ad924d,0x331eb26495],}})();
  2. CRUD API functionality using GET, PUT. PATCH, POST, DELETE Filtering Resources Sorting Resources Pagination of Resources Status Codes and Error Reporting Creating Custom Validation Attribute Validattion using IValidatable Object Creating Caching Profiles Caching Resources Repository Pattern Data Shaping Mapping Entities with DTO using AutoMapper Creating Collection of Resources with single API request Additional verbs - OPTIONS, HEAD UPSERTING with PUT and PATCH Supporting JSon and XML Content Types Adding Custom Headers to responses HATEOAS Show more Show less Course content 20 sections • 121 lectures • 9h 0m total length Expand all sections Introduction 1 lecture • 1min Download Source Files 00:12 Setting up the project 2 lectures • 9min Creating the Project Preview 06:25 Adding NuGet Packages Preview 02:09 Setting Up Entities and DbContext 5 lectures • 19min Creating Band Entity Preview 02:41 Creating Album Entity Preview 01:57 Adding Data Annotation 03:23 Adding DbContext 03:29 Adding Script to Seed The Database 07:24 Creating and Implementing Repository Interface 9 lectures • 26min Creating Interface Repository Preview 07:09 Injecting DbContext to Repository Implementation Preview 02:51 AddAlbum Method Implementation 02:19 AddBand Method Implementation 02:45 RemoveBand and RemoveAlbum Method Implementation 01:22 GetAlbum Method Implementation 02:32 GetAlbums Method Implementation 01:30 GetBand and GetBands MEthod Implementation 01:30 GetBandsByIds Method Implementation 03:58 Database Set up 3 lectures • 14min Adding Connection String 05:20 Preparing Database Migration 05:38 Creating Database 03:18 GET - Getting Resources, Setting up Status Codes, JSon, XML, and AutoMapper 14 lectures • 1hr 13min GetBands Request Preview 09:15 GetBand Request Preview 03:55 Returning Status Codes 04:54 Adding Support For XML 06:13 Creating BandDto 04:57 Modifying GetBands To Use Dto Class 03:47 Creating Helper Method FoundedYearsAgo 06:05 Implementing AutoMapper 09:12 Adding Albums Controller 03:32 Creating AlbumDTO 04:17 Implementing GetAlbumsForBand 04:27 Implementing GetAlbumForBand 05:27 Implementing Exception Handling 05:21 Using HTTPHEAD 02:03 Searching and Filtering Resources 3 lectures • 26min Implementing Filtering for Bands 07:46 Implementing Searching 08:48 Grouping Filter and Search Parameters 08:56 POST - Creating Resources 9 lectures • 43min Creating BandDto for Creating New Band Preview 02:00 Creating New Band Preview 06:58 Testing Creation of New Band 04:21 Creating Child Resource - Album for Band 08:22 Testing Album Creation 03:00 Creating Resource and Child Resource in Single API Call -Creating Band and Album 04:32 Creating Collection Of Bands In Single API Call 06:23 Adding Support for OPTIONS 06:07 Content Type Settings 01:16 Data Validation and Errors 4 lectures • 18min Adding Input Validation for Creating Album Preview 04:07 Adding Class Level IValidation with IValidatable Object 04:43 Creating Custom Validatio Attribute 06:08 Customizing Error Responses in Validation Attributes 03:09 PUT- Fully Updating Resources 5 lectures • 27min Creating UpdateAlbumForBand Action 02:51 Finishing Creation of UpdateAlbumForBand Action 06:26 Testing Updating Album For Band 06:35 Improving And Streamlining Validation 08:39 Testing Updating Album For Band With Improved Validation Preview 02:51 10 more sections Requirements Good grasp of C# language (intermediate level recommended) Visual Studio 2019 (any addition) with installed .Net Core 3.0 Basic familiarity with MVC pattern Familiarity with REST principles Basic knowledge of CRUD operations principles Description Thank you for checking out my course. So what is the course all about? As the name – “Creating RESTful API with ASP .Net Core 3.0 and Entity Framework Core” implies, we will dive into building an API using REST principles. We’ll use Entity Framework Core for persisting our data in database and ASP .Net Core 3.0 framework for interacting with it. What will we build. Simple answer is CRUD API that uses GET, POST, PUT, PATCH, and DELETE verbs to manipulate the resources for music Bands and the Bands Albums. However we’ll do so much more than that! We will also let our API to filter and sort resources; apply pagination to limit the number of resources per page; implement Data Shaping to allow the user specify which properties should be returned and which ones can be ignored; we’ll let the user to create a collection of resources with a single API request; support Json and XML; add Upserting, which is creating a new resource with update, if the resource doesn’t yet exists, and we’ll implementing it both for PUT and PATCH verbs; we’ll implement input validation, both with IValidatable Object and we’ll also create a Custom Validation Attribute; we’ll have a close look at status codes and make sure they adhere to REST principles; we’ll use OPTIONS and HEAD verbs and explore how and why to use them; and we’ll add custom headers to our responses. Of course, we will work heavily with Entities and Data Transfer Objects (DTO). And all of that will be implemented via Repository Pattern. Prerequisites. As you can see, it truly is Beyond Basics course. Although the course is suitable for all levels, because it covers the basics and more advanced topics, you are expected to have a good command of C# language, especially if you want to follow the advanced parts. You should also be familiar with MVC patter and REST principles as those are not discussed in any detail. Who is this course for. This course goes beyond the basics. It's for everyone who wants to learn how to create RESTful API with ASP.Net Core 3.0. NOTE: this is not a beginners course! It's designed for intermediate and advance level programmers Whether you never created an API, or are familiar with the basics and want to explore more advanced topics, you will find this course perfect for you. As long as you have solid C# skills, you will be able to follow along. Everything is coded on camera, and each line of code is explained in detail, so you will never be lost and always know WHAT we are doing, and equally important, WHY we are doing it. Are you ready to dive into creating RESTful API? If so, let’s together jump into .Net Core 3.0 and create a well-built API that follows REST principles. See you in the course. Who this course is for: Programmers familiar with basics of API who want to explore more advanced topics Programmers new to REST API creation (but NOT new to C#) Programmers who want to learn how to create solid REST API with .Net Core 3 Developers who want to move to .Net Core 3 from previous versions Self-taught programmers with intermediate level of C# language skills Show more Show less Instructor Pavol Almasi Computer Programmer at Berkshire Hathaway Company 4.5 Instructor Rating 2,301 Reviews 38,066 Students 16 Courses I am a professional computer programmer for a national insurance company. I am versed in variety of programming languages, technologies, and frameworks. Currently using mostly SQL and .Net. I have a Bachelor's Degree from City University of Seattle. I first came in contact with programming back in the good 'ol days of Visual Basic 6 and Visual Basic for Applications. Manipulating Access databasea was so much fun! I moved onto Web development in early 2000's, using HTML and CSS, later added PHP. It was then when I realized I really enjoyed the coding of the back end much more than the design part...and that joy of coding stayed with me ever since. I LOVE coding, and I LOVE doing exercises and projects in my free time. I am hoping my courses help you to better understand the programming principles and give you a good starting point for your further adventure in computer programming, Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'677868e37c324089',m:'00ed007039074f2ff42dedf0af9b9309ab73dc29-1627751109-1800-AVAfLIJqZewEYmopAYVyJcVOiVkRv9UCzVnew81NxfpaI9h6bBhNMgRm3qljQngMPF7IxNPPRRqhzyPqrS4pB8qgSV8CZfiKRLecZX3FQ0NE/72nSLoPzNvrAcjuTN0p6emBSWL8CPM/kKL3ad0P2tPMyYD0GI1H/z2QYYHVOE4p',s:[0x9117ad924d,0x331eb26495],}})();
  3. Filtering Resources Sorting Resources Pagination of Resources Status Codes and Error Reporting Creating Custom Validation Attribute Validattion using IValidatable Object Creating Caching Profiles Caching Resources Repository Pattern Data Shaping Mapping Entities with DTO using AutoMapper Creating Collection of Resources with single API request Additional verbs - OPTIONS, HEAD UPSERTING with PUT and PATCH Supporting JSon and XML Content Types Adding Custom Headers to responses HATEOAS Show more Show less Course content 20 sections • 121 lectures • 9h 0m total length Expand all sections Introduction 1 lecture • 1min Download Source Files 00:12 Setting up the project 2 lectures • 9min Creating the Project Preview 06:25 Adding NuGet Packages Preview 02:09 Setting Up Entities and DbContext 5 lectures • 19min Creating Band Entity Preview 02:41 Creating Album Entity Preview 01:57 Adding Data Annotation 03:23 Adding DbContext 03:29 Adding Script to Seed The Database 07:24 Creating and Implementing Repository Interface 9 lectures • 26min Creating Interface Repository Preview 07:09 Injecting DbContext to Repository Implementation Preview 02:51 AddAlbum Method Implementation 02:19 AddBand Method Implementation 02:45 RemoveBand and RemoveAlbum Method Implementation 01:22 GetAlbum Method Implementation 02:32 GetAlbums Method Implementation 01:30 GetBand and GetBands MEthod Implementation 01:30 GetBandsByIds Method Implementation 03:58 Database Set up 3 lectures • 14min Adding Connection String 05:20 Preparing Database Migration 05:38 Creating Database 03:18 GET - Getting Resources, Setting up Status Codes, JSon, XML, and AutoMapper 14 lectures • 1hr 13min GetBands Request Preview 09:15 GetBand Request Preview 03:55 Returning Status Codes 04:54 Adding Support For XML 06:13 Creating BandDto 04:57 Modifying GetBands To Use Dto Class 03:47 Creating Helper Method FoundedYearsAgo 06:05 Implementing AutoMapper 09:12 Adding Albums Controller 03:32 Creating AlbumDTO 04:17 Implementing GetAlbumsForBand 04:27 Implementing GetAlbumForBand 05:27 Implementing Exception Handling 05:21 Using HTTPHEAD 02:03 Searching and Filtering Resources 3 lectures • 26min Implementing Filtering for Bands 07:46 Implementing Searching 08:48 Grouping Filter and Search Parameters 08:56 POST - Creating Resources 9 lectures • 43min Creating BandDto for Creating New Band Preview 02:00 Creating New Band Preview 06:58 Testing Creation of New Band 04:21 Creating Child Resource - Album for Band 08:22 Testing Album Creation 03:00 Creating Resource and Child Resource in Single API Call -Creating Band and Album 04:32 Creating Collection Of Bands In Single API Call 06:23 Adding Support for OPTIONS 06:07 Content Type Settings 01:16 Data Validation and Errors 4 lectures • 18min Adding Input Validation for Creating Album Preview 04:07 Adding Class Level IValidation with IValidatable Object 04:43 Creating Custom Validatio Attribute 06:08 Customizing Error Responses in Validation Attributes 03:09 PUT- Fully Updating Resources 5 lectures • 27min Creating UpdateAlbumForBand Action 02:51 Finishing Creation of UpdateAlbumForBand Action 06:26 Testing Updating Album For Band 06:35 Improving And Streamlining Validation 08:39 Testing Updating Album For Band With Improved Validation Preview 02:51 10 more sections Requirements Good grasp of C# language (intermediate level recommended) Visual Studio 2019 (any addition) with installed .Net Core 3.0 Basic familiarity with MVC pattern Familiarity with REST principles Basic knowledge of CRUD operations principles Description Thank you for checking out my course. So what is the course all about? As the name – “Creating RESTful API with ASP .Net Core 3.0 and Entity Framework Core” implies, we will dive into building an API using REST principles. We’ll use Entity Framework Core for persisting our data in database and ASP .Net Core 3.0 framework for interacting with it. What will we build. Simple answer is CRUD API that uses GET, POST, PUT, PATCH, and DELETE verbs to manipulate the resources for music Bands and the Bands Albums. However we’ll do so much more than that! We will also let our API to filter and sort resources; apply pagination to limit the number of resources per page; implement Data Shaping to allow the user specify which properties should be returned and which ones can be ignored; we’ll let the user to create a collection of resources with a single API request; support Json and XML; add Upserting, which is creating a new resource with update, if the resource doesn’t yet exists, and we’ll implementing it both for PUT and PATCH verbs; we’ll implement input validation, both with IValidatable Object and we’ll also create a Custom Validation Attribute; we’ll have a close look at status codes and make sure they adhere to REST principles; we’ll use OPTIONS and HEAD verbs and explore how and why to use them; and we’ll add custom headers to our responses. Of course, we will work heavily with Entities and Data Transfer Objects (DTO). And all of that will be implemented via Repository Pattern. Prerequisites. As you can see, it truly is Beyond Basics course. Although the course is suitable for all levels, because it covers the basics and more advanced topics, you are expected to have a good command of C# language, especially if you want to follow the advanced parts. You should also be familiar with MVC patter and REST principles as those are not discussed in any detail. Who is this course for. This course goes beyond the basics. It's for everyone who wants to learn how to create RESTful API with ASP.Net Core 3.0. NOTE: this is not a beginners course! It's designed for intermediate and advance level programmers Whether you never created an API, or are familiar with the basics and want to explore more advanced topics, you will find this course perfect for you. As long as you have solid C# skills, you will be able to follow along. Everything is coded on camera, and each line of code is explained in detail, so you will never be lost and always know WHAT we are doing, and equally important, WHY we are doing it. Are you ready to dive into creating RESTful API? If so, let’s together jump into .Net Core 3.0 and create a well-built API that follows REST principles. See you in the course. Who this course is for: Programmers familiar with basics of API who want to explore more advanced topics Programmers new to REST API creation (but NOT new to C#) Programmers who want to learn how to create solid REST API with .Net Core 3 Developers who want to move to .Net Core 3 from previous versions Self-taught programmers with intermediate level of C# language skills Show more Show less Instructor Pavol Almasi Computer Programmer at Berkshire Hathaway Company 4.5 Instructor Rating 2,301 Reviews 38,066 Students 16 Courses I am a professional computer programmer for a national insurance company. I am versed in variety of programming languages, technologies, and frameworks. Currently using mostly SQL and .Net. I have a Bachelor's Degree from City University of Seattle. I first came in contact with programming back in the good 'ol days of Visual Basic 6 and Visual Basic for Applications. Manipulating Access databasea was so much fun! I moved onto Web development in early 2000's, using HTML and CSS, later added PHP. It was then when I realized I really enjoyed the coding of the back end much more than the design part...and that joy of coding stayed with me ever since. I LOVE coding, and I LOVE doing exercises and projects in my free time. I am hoping my courses help you to better understand the programming principles and give you a good starting point for your further adventure in computer programming, Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'677868e37c324089',m:'00ed007039074f2ff42dedf0af9b9309ab73dc29-1627751109-1800-AVAfLIJqZewEYmopAYVyJcVOiVkRv9UCzVnew81NxfpaI9h6bBhNMgRm3qljQngMPF7IxNPPRRqhzyPqrS4pB8qgSV8CZfiKRLecZX3FQ0NE/72nSLoPzNvrAcjuTN0p6emBSWL8CPM/kKL3ad0P2tPMyYD0GI1H/z2QYYHVOE4p',s:[0x9117ad924d,0x331eb26495],}})();
  4. Sorting Resources Pagination of Resources Status Codes and Error Reporting Creating Custom Validation Attribute Validattion using IValidatable Object Creating Caching Profiles Caching Resources Repository Pattern Data Shaping Mapping Entities with DTO using AutoMapper Creating Collection of Resources with single API request Additional verbs - OPTIONS, HEAD UPSERTING with PUT and PATCH Supporting JSon and XML Content Types Adding Custom Headers to responses HATEOAS Show more Show less Course content 20 sections • 121 lectures • 9h 0m total length Expand all sections Introduction 1 lecture • 1min Download Source Files 00:12 Setting up the project 2 lectures • 9min Creating the Project Preview 06:25 Adding NuGet Packages Preview 02:09 Setting Up Entities and DbContext 5 lectures • 19min Creating Band Entity Preview 02:41 Creating Album Entity Preview 01:57 Adding Data Annotation 03:23 Adding DbContext 03:29 Adding Script to Seed The Database 07:24 Creating and Implementing Repository Interface 9 lectures • 26min Creating Interface Repository Preview 07:09 Injecting DbContext to Repository Implementation Preview 02:51 AddAlbum Method Implementation 02:19 AddBand Method Implementation 02:45 RemoveBand and RemoveAlbum Method Implementation 01:22 GetAlbum Method Implementation 02:32 GetAlbums Method Implementation 01:30 GetBand and GetBands MEthod Implementation 01:30 GetBandsByIds Method Implementation 03:58 Database Set up 3 lectures • 14min Adding Connection String 05:20 Preparing Database Migration 05:38 Creating Database 03:18 GET - Getting Resources, Setting up Status Codes, JSon, XML, and AutoMapper 14 lectures • 1hr 13min GetBands Request Preview 09:15 GetBand Request Preview 03:55 Returning Status Codes 04:54 Adding Support For XML 06:13 Creating BandDto 04:57 Modifying GetBands To Use Dto Class 03:47 Creating Helper Method FoundedYearsAgo 06:05 Implementing AutoMapper 09:12 Adding Albums Controller 03:32 Creating AlbumDTO 04:17 Implementing GetAlbumsForBand 04:27 Implementing GetAlbumForBand 05:27 Implementing Exception Handling 05:21 Using HTTPHEAD 02:03 Searching and Filtering Resources 3 lectures • 26min Implementing Filtering for Bands 07:46 Implementing Searching 08:48 Grouping Filter and Search Parameters 08:56 POST - Creating Resources 9 lectures • 43min Creating BandDto for Creating New Band Preview 02:00 Creating New Band Preview 06:58 Testing Creation of New Band 04:21 Creating Child Resource - Album for Band 08:22 Testing Album Creation 03:00 Creating Resource and Child Resource in Single API Call -Creating Band and Album 04:32 Creating Collection Of Bands In Single API Call 06:23 Adding Support for OPTIONS 06:07 Content Type Settings 01:16 Data Validation and Errors 4 lectures • 18min Adding Input Validation for Creating Album Preview 04:07 Adding Class Level IValidation with IValidatable Object 04:43 Creating Custom Validatio Attribute 06:08 Customizing Error Responses in Validation Attributes 03:09 PUT- Fully Updating Resources 5 lectures • 27min Creating UpdateAlbumForBand Action 02:51 Finishing Creation of UpdateAlbumForBand Action 06:26 Testing Updating Album For Band 06:35 Improving And Streamlining Validation 08:39 Testing Updating Album For Band With Improved Validation Preview 02:51 10 more sections Requirements Good grasp of C# language (intermediate level recommended) Visual Studio 2019 (any addition) with installed .Net Core 3.0 Basic familiarity with MVC pattern Familiarity with REST principles Basic knowledge of CRUD operations principles Description Thank you for checking out my course. So what is the course all about? As the name – “Creating RESTful API with ASP .Net Core 3.0 and Entity Framework Core” implies, we will dive into building an API using REST principles. We’ll use Entity Framework Core for persisting our data in database and ASP .Net Core 3.0 framework for interacting with it. What will we build. Simple answer is CRUD API that uses GET, POST, PUT, PATCH, and DELETE verbs to manipulate the resources for music Bands and the Bands Albums. However we’ll do so much more than that! We will also let our API to filter and sort resources; apply pagination to limit the number of resources per page; implement Data Shaping to allow the user specify which properties should be returned and which ones can be ignored; we’ll let the user to create a collection of resources with a single API request; support Json and XML; add Upserting, which is creating a new resource with update, if the resource doesn’t yet exists, and we’ll implementing it both for PUT and PATCH verbs; we’ll implement input validation, both with IValidatable Object and we’ll also create a Custom Validation Attribute; we’ll have a close look at status codes and make sure they adhere to REST principles; we’ll use OPTIONS and HEAD verbs and explore how and why to use them; and we’ll add custom headers to our responses. Of course, we will work heavily with Entities and Data Transfer Objects (DTO). And all of that will be implemented via Repository Pattern. Prerequisites. As you can see, it truly is Beyond Basics course. Although the course is suitable for all levels, because it covers the basics and more advanced topics, you are expected to have a good command of C# language, especially if you want to follow the advanced parts. You should also be familiar with MVC patter and REST principles as those are not discussed in any detail. Who is this course for. This course goes beyond the basics. It's for everyone who wants to learn how to create RESTful API with ASP.Net Core 3.0. NOTE: this is not a beginners course! It's designed for intermediate and advance level programmers Whether you never created an API, or are familiar with the basics and want to explore more advanced topics, you will find this course perfect for you. As long as you have solid C# skills, you will be able to follow along. Everything is coded on camera, and each line of code is explained in detail, so you will never be lost and always know WHAT we are doing, and equally important, WHY we are doing it. Are you ready to dive into creating RESTful API? If so, let’s together jump into .Net Core 3.0 and create a well-built API that follows REST principles. See you in the course. Who this course is for: Programmers familiar with basics of API who want to explore more advanced topics Programmers new to REST API creation (but NOT new to C#) Programmers who want to learn how to create solid REST API with .Net Core 3 Developers who want to move to .Net Core 3 from previous versions Self-taught programmers with intermediate level of C# language skills Show more Show less Instructor Pavol Almasi Computer Programmer at Berkshire Hathaway Company 4.5 Instructor Rating 2,301 Reviews 38,066 Students 16 Courses I am a professional computer programmer for a national insurance company. I am versed in variety of programming languages, technologies, and frameworks. Currently using mostly SQL and .Net. I have a Bachelor's Degree from City University of Seattle. I first came in contact with programming back in the good 'ol days of Visual Basic 6 and Visual Basic for Applications. Manipulating Access databasea was so much fun! I moved onto Web development in early 2000's, using HTML and CSS, later added PHP. It was then when I realized I really enjoyed the coding of the back end much more than the design part...and that joy of coding stayed with me ever since. I LOVE coding, and I LOVE doing exercises and projects in my free time. I am hoping my courses help you to better understand the programming principles and give you a good starting point for your further adventure in computer programming, Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'677868e37c324089',m:'00ed007039074f2ff42dedf0af9b9309ab73dc29-1627751109-1800-AVAfLIJqZewEYmopAYVyJcVOiVkRv9UCzVnew81NxfpaI9h6bBhNMgRm3qljQngMPF7IxNPPRRqhzyPqrS4pB8qgSV8CZfiKRLecZX3FQ0NE/72nSLoPzNvrAcjuTN0p6emBSWL8CPM/kKL3ad0P2tPMyYD0GI1H/z2QYYHVOE4p',s:[0x9117ad924d,0x331eb26495],}})();
  5. Pagination of Resources Status Codes and Error Reporting Creating Custom Validation Attribute Validattion using IValidatable Object Creating Caching Profiles Caching Resources Repository Pattern Data Shaping Mapping Entities with DTO using AutoMapper Creating Collection of Resources with single API request Additional verbs - OPTIONS, HEAD UPSERTING with PUT and PATCH Supporting JSon and XML Content Types Adding Custom Headers to responses HATEOAS Show more Show less Course content 20 sections • 121 lectures • 9h 0m total length Expand all sections Introduction 1 lecture • 1min Download Source Files 00:12 Setting up the project 2 lectures • 9min Creating the Project Preview 06:25 Adding NuGet Packages Preview 02:09 Setting Up Entities and DbContext 5 lectures • 19min Creating Band Entity Preview 02:41 Creating Album Entity Preview 01:57 Adding Data Annotation 03:23 Adding DbContext 03:29 Adding Script to Seed The Database 07:24 Creating and Implementing Repository Interface 9 lectures • 26min Creating Interface Repository Preview 07:09 Injecting DbContext to Repository Implementation Preview 02:51 AddAlbum Method Implementation 02:19 AddBand Method Implementation 02:45 RemoveBand and RemoveAlbum Method Implementation 01:22 GetAlbum Method Implementation 02:32 GetAlbums Method Implementation 01:30 GetBand and GetBands MEthod Implementation 01:30 GetBandsByIds Method Implementation 03:58 Database Set up 3 lectures • 14min Adding Connection String 05:20 Preparing Database Migration 05:38 Creating Database 03:18 GET - Getting Resources, Setting up Status Codes, JSon, XML, and AutoMapper 14 lectures • 1hr 13min GetBands Request Preview 09:15 GetBand Request Preview 03:55 Returning Status Codes 04:54 Adding Support For XML 06:13 Creating BandDto 04:57 Modifying GetBands To Use Dto Class 03:47 Creating Helper Method FoundedYearsAgo 06:05 Implementing AutoMapper 09:12 Adding Albums Controller 03:32 Creating AlbumDTO 04:17 Implementing GetAlbumsForBand 04:27 Implementing GetAlbumForBand 05:27 Implementing Exception Handling 05:21 Using HTTPHEAD 02:03 Searching and Filtering Resources 3 lectures • 26min Implementing Filtering for Bands 07:46 Implementing Searching 08:48 Grouping Filter and Search Parameters 08:56 POST - Creating Resources 9 lectures • 43min Creating BandDto for Creating New Band Preview 02:00 Creating New Band Preview 06:58 Testing Creation of New Band 04:21 Creating Child Resource - Album for Band 08:22 Testing Album Creation 03:00 Creating Resource and Child Resource in Single API Call -Creating Band and Album 04:32 Creating Collection Of Bands In Single API Call 06:23 Adding Support for OPTIONS 06:07 Content Type Settings 01:16 Data Validation and Errors 4 lectures • 18min Adding Input Validation for Creating Album Preview 04:07 Adding Class Level IValidation with IValidatable Object 04:43 Creating Custom Validatio Attribute 06:08 Customizing Error Responses in Validation Attributes 03:09 PUT- Fully Updating Resources 5 lectures • 27min Creating UpdateAlbumForBand Action 02:51 Finishing Creation of UpdateAlbumForBand Action 06:26 Testing Updating Album For Band 06:35 Improving And Streamlining Validation 08:39 Testing Updating Album For Band With Improved Validation Preview 02:51 10 more sections Requirements Good grasp of C# language (intermediate level recommended) Visual Studio 2019 (any addition) with installed .Net Core 3.0 Basic familiarity with MVC pattern Familiarity with REST principles Basic knowledge of CRUD operations principles Description Thank you for checking out my course. So what is the course all about? As the name – “Creating RESTful API with ASP .Net Core 3.0 and Entity Framework Core” implies, we will dive into building an API using REST principles. We’ll use Entity Framework Core for persisting our data in database and ASP .Net Core 3.0 framework for interacting with it. What will we build. Simple answer is CRUD API that uses GET, POST, PUT, PATCH, and DELETE verbs to manipulate the resources for music Bands and the Bands Albums. However we’ll do so much more than that! We will also let our API to filter and sort resources; apply pagination to limit the number of resources per page; implement Data Shaping to allow the user specify which properties should be returned and which ones can be ignored; we’ll let the user to create a collection of resources with a single API request; support Json and XML; add Upserting, which is creating a new resource with update, if the resource doesn’t yet exists, and we’ll implementing it both for PUT and PATCH verbs; we’ll implement input validation, both with IValidatable Object and we’ll also create a Custom Validation Attribute; we’ll have a close look at status codes and make sure they adhere to REST principles; we’ll use OPTIONS and HEAD verbs and explore how and why to use them; and we’ll add custom headers to our responses. Of course, we will work heavily with Entities and Data Transfer Objects (DTO). And all of that will be implemented via Repository Pattern. Prerequisites. As you can see, it truly is Beyond Basics course. Although the course is suitable for all levels, because it covers the basics and more advanced topics, you are expected to have a good command of C# language, especially if you want to follow the advanced parts. You should also be familiar with MVC patter and REST principles as those are not discussed in any detail. Who is this course for. This course goes beyond the basics. It's for everyone who wants to learn how to create RESTful API with ASP.Net Core 3.0. NOTE: this is not a beginners course! It's designed for intermediate and advance level programmers Whether you never created an API, or are familiar with the basics and want to explore more advanced topics, you will find this course perfect for you. As long as you have solid C# skills, you will be able to follow along. Everything is coded on camera, and each line of code is explained in detail, so you will never be lost and always know WHAT we are doing, and equally important, WHY we are doing it. Are you ready to dive into creating RESTful API? If so, let’s together jump into .Net Core 3.0 and create a well-built API that follows REST principles. See you in the course. Who this course is for: Programmers familiar with basics of API who want to explore more advanced topics Programmers new to REST API creation (but NOT new to C#) Programmers who want to learn how to create solid REST API with .Net Core 3 Developers who want to move to .Net Core 3 from previous versions Self-taught programmers with intermediate level of C# language skills Show more Show less Instructor Pavol Almasi Computer Programmer at Berkshire Hathaway Company 4.5 Instructor Rating 2,301 Reviews 38,066 Students 16 Courses I am a professional computer programmer for a national insurance company. I am versed in variety of programming languages, technologies, and frameworks. Currently using mostly SQL and .Net. I have a Bachelor's Degree from City University of Seattle. I first came in contact with programming back in the good 'ol days of Visual Basic 6 and Visual Basic for Applications. Manipulating Access databasea was so much fun! I moved onto Web development in early 2000's, using HTML and CSS, later added PHP. It was then when I realized I really enjoyed the coding of the back end much more than the design part...and that joy of coding stayed with me ever since. I LOVE coding, and I LOVE doing exercises and projects in my free time. I am hoping my courses help you to better understand the programming principles and give you a good starting point for your further adventure in computer programming, Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'677868e37c324089',m:'00ed007039074f2ff42dedf0af9b9309ab73dc29-1627751109-1800-AVAfLIJqZewEYmopAYVyJcVOiVkRv9UCzVnew81NxfpaI9h6bBhNMgRm3qljQngMPF7IxNPPRRqhzyPqrS4pB8qgSV8CZfiKRLecZX3FQ0NE/72nSLoPzNvrAcjuTN0p6emBSWL8CPM/kKL3ad0P2tPMyYD0GI1H/z2QYYHVOE4p',s:[0x9117ad924d,0x331eb26495],}})();
  6. Status Codes and Error Reporting Creating Custom Validation Attribute Validattion using IValidatable Object Creating Caching Profiles Caching Resources Repository Pattern Data Shaping Mapping Entities with DTO using AutoMapper Creating Collection of Resources with single API request Additional verbs - OPTIONS, HEAD UPSERTING with PUT and PATCH Supporting JSon and XML Content Types Adding Custom Headers to responses HATEOAS Show more Show less Course content 20 sections • 121 lectures • 9h 0m total length Expand all sections Introduction 1 lecture • 1min Download Source Files 00:12 Setting up the project 2 lectures • 9min Creating the Project Preview 06:25 Adding NuGet Packages Preview 02:09 Setting Up Entities and DbContext 5 lectures • 19min Creating Band Entity Preview 02:41 Creating Album Entity Preview 01:57 Adding Data Annotation 03:23 Adding DbContext 03:29 Adding Script to Seed The Database 07:24 Creating and Implementing Repository Interface 9 lectures • 26min Creating Interface Repository Preview 07:09 Injecting DbContext to Repository Implementation Preview 02:51 AddAlbum Method Implementation 02:19 AddBand Method Implementation 02:45 RemoveBand and RemoveAlbum Method Implementation 01:22 GetAlbum Method Implementation 02:32 GetAlbums Method Implementation 01:30 GetBand and GetBands MEthod Implementation 01:30 GetBandsByIds Method Implementation 03:58 Database Set up 3 lectures • 14min Adding Connection String 05:20 Preparing Database Migration 05:38 Creating Database 03:18 GET - Getting Resources, Setting up Status Codes, JSon, XML, and AutoMapper 14 lectures • 1hr 13min GetBands Request Preview 09:15 GetBand Request Preview 03:55 Returning Status Codes 04:54 Adding Support For XML 06:13 Creating BandDto 04:57 Modifying GetBands To Use Dto Class 03:47 Creating Helper Method FoundedYearsAgo 06:05 Implementing AutoMapper 09:12 Adding Albums Controller 03:32 Creating AlbumDTO 04:17 Implementing GetAlbumsForBand 04:27 Implementing GetAlbumForBand 05:27 Implementing Exception Handling 05:21 Using HTTPHEAD 02:03 Searching and Filtering Resources 3 lectures • 26min Implementing Filtering for Bands 07:46 Implementing Searching 08:48 Grouping Filter and Search Parameters 08:56 POST - Creating Resources 9 lectures • 43min Creating BandDto for Creating New Band Preview 02:00 Creating New Band Preview 06:58 Testing Creation of New Band 04:21 Creating Child Resource - Album for Band 08:22 Testing Album Creation 03:00 Creating Resource and Child Resource in Single API Call -Creating Band and Album 04:32 Creating Collection Of Bands In Single API Call 06:23 Adding Support for OPTIONS 06:07 Content Type Settings 01:16 Data Validation and Errors 4 lectures • 18min Adding Input Validation for Creating Album Preview 04:07 Adding Class Level IValidation with IValidatable Object 04:43 Creating Custom Validatio Attribute 06:08 Customizing Error Responses in Validation Attributes 03:09 PUT- Fully Updating Resources 5 lectures • 27min Creating UpdateAlbumForBand Action 02:51 Finishing Creation of UpdateAlbumForBand Action 06:26 Testing Updating Album For Band 06:35 Improving And Streamlining Validation 08:39 Testing Updating Album For Band With Improved Validation Preview 02:51 10 more sections Requirements Good grasp of C# language (intermediate level recommended) Visual Studio 2019 (any addition) with installed .Net Core 3.0 Basic familiarity with MVC pattern Familiarity with REST principles Basic knowledge of CRUD operations principles Description Thank you for checking out my course. So what is the course all about? As the name – “Creating RESTful API with ASP .Net Core 3.0 and Entity Framework Core” implies, we will dive into building an API using REST principles. We’ll use Entity Framework Core for persisting our data in database and ASP .Net Core 3.0 framework for interacting with it. What will we build. Simple answer is CRUD API that uses GET, POST, PUT, PATCH, and DELETE verbs to manipulate the resources for music Bands and the Bands Albums. However we’ll do so much more than that! We will also let our API to filter and sort resources; apply pagination to limit the number of resources per page; implement Data Shaping to allow the user specify which properties should be returned and which ones can be ignored; we’ll let the user to create a collection of resources with a single API request; support Json and XML; add Upserting, which is creating a new resource with update, if the resource doesn’t yet exists, and we’ll implementing it both for PUT and PATCH verbs; we’ll implement input validation, both with IValidatable Object and we’ll also create a Custom Validation Attribute; we’ll have a close look at status codes and make sure they adhere to REST principles; we’ll use OPTIONS and HEAD verbs and explore how and why to use them; and we’ll add custom headers to our responses. Of course, we will work heavily with Entities and Data Transfer Objects (DTO). And all of that will be implemented via Repository Pattern. Prerequisites. As you can see, it truly is Beyond Basics course. Although the course is suitable for all levels, because it covers the basics and more advanced topics, you are expected to have a good command of C# language, especially if you want to follow the advanced parts. You should also be familiar with MVC patter and REST principles as those are not discussed in any detail. Who is this course for. This course goes beyond the basics. It's for everyone who wants to learn how to create RESTful API with ASP.Net Core 3.0. NOTE: this is not a beginners course! It's designed for intermediate and advance level programmers Whether you never created an API, or are familiar with the basics and want to explore more advanced topics, you will find this course perfect for you. As long as you have solid C# skills, you will be able to follow along. Everything is coded on camera, and each line of code is explained in detail, so you will never be lost and always know WHAT we are doing, and equally important, WHY we are doing it. Are you ready to dive into creating RESTful API? If so, let’s together jump into .Net Core 3.0 and create a well-built API that follows REST principles. See you in the course. Who this course is for: Programmers familiar with basics of API who want to explore more advanced topics Programmers new to REST API creation (but NOT new to C#) Programmers who want to learn how to create solid REST API with .Net Core 3 Developers who want to move to .Net Core 3 from previous versions Self-taught programmers with intermediate level of C# language skills Show more Show less Instructor Pavol Almasi Computer Programmer at Berkshire Hathaway Company 4.5 Instructor Rating 2,301 Reviews 38,066 Students 16 Courses I am a professional computer programmer for a national insurance company. I am versed in variety of programming languages, technologies, and frameworks. Currently using mostly SQL and .Net. I have a Bachelor's Degree from City University of Seattle. I first came in contact with programming back in the good 'ol days of Visual Basic 6 and Visual Basic for Applications. Manipulating Access databasea was so much fun! I moved onto Web development in early 2000's, using HTML and CSS, later added PHP. It was then when I realized I really enjoyed the coding of the back end much more than the design part...and that joy of coding stayed with me ever since. I LOVE coding, and I LOVE doing exercises and projects in my free time. I am hoping my courses help you to better understand the programming principles and give you a good starting point for your further adventure in computer programming, Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'677868e37c324089',m:'00ed007039074f2ff42dedf0af9b9309ab73dc29-1627751109-1800-AVAfLIJqZewEYmopAYVyJcVOiVkRv9UCzVnew81NxfpaI9h6bBhNMgRm3qljQngMPF7IxNPPRRqhzyPqrS4pB8qgSV8CZfiKRLecZX3FQ0NE/72nSLoPzNvrAcjuTN0p6emBSWL8CPM/kKL3ad0P2tPMyYD0GI1H/z2QYYHVOE4p',s:[0x9117ad924d,0x331eb26495],}})();
  7. Creating Custom Validation Attribute Validattion using IValidatable Object Creating Caching Profiles Caching Resources Repository Pattern Data Shaping Mapping Entities with DTO using AutoMapper Creating Collection of Resources with single API request Additional verbs - OPTIONS, HEAD UPSERTING with PUT and PATCH Supporting JSon and XML Content Types Adding Custom Headers to responses HATEOAS Show more Show less Course content 20 sections • 121 lectures • 9h 0m total length Expand all sections Introduction 1 lecture • 1min Download Source Files 00:12 Setting up the project 2 lectures • 9min Creating the Project Preview 06:25 Adding NuGet Packages Preview 02:09 Setting Up Entities and DbContext 5 lectures • 19min Creating Band Entity Preview 02:41 Creating Album Entity Preview 01:57 Adding Data Annotation 03:23 Adding DbContext 03:29 Adding Script to Seed The Database 07:24 Creating and Implementing Repository Interface 9 lectures • 26min Creating Interface Repository Preview 07:09 Injecting DbContext to Repository Implementation Preview 02:51 AddAlbum Method Implementation 02:19 AddBand Method Implementation 02:45 RemoveBand and RemoveAlbum Method Implementation 01:22 GetAlbum Method Implementation 02:32 GetAlbums Method Implementation 01:30 GetBand and GetBands MEthod Implementation 01:30 GetBandsByIds Method Implementation 03:58 Database Set up 3 lectures • 14min Adding Connection String 05:20 Preparing Database Migration 05:38 Creating Database 03:18 GET - Getting Resources, Setting up Status Codes, JSon, XML, and AutoMapper 14 lectures • 1hr 13min GetBands Request Preview 09:15 GetBand Request Preview 03:55 Returning Status Codes 04:54 Adding Support For XML 06:13 Creating BandDto 04:57 Modifying GetBands To Use Dto Class 03:47 Creating Helper Method FoundedYearsAgo 06:05 Implementing AutoMapper 09:12 Adding Albums Controller 03:32 Creating AlbumDTO 04:17 Implementing GetAlbumsForBand 04:27 Implementing GetAlbumForBand 05:27 Implementing Exception Handling 05:21 Using HTTPHEAD 02:03 Searching and Filtering Resources 3 lectures • 26min Implementing Filtering for Bands 07:46 Implementing Searching 08:48 Grouping Filter and Search Parameters 08:56 POST - Creating Resources 9 lectures • 43min Creating BandDto for Creating New Band Preview 02:00 Creating New Band Preview 06:58 Testing Creation of New Band 04:21 Creating Child Resource - Album for Band 08:22 Testing Album Creation 03:00 Creating Resource and Child Resource in Single API Call -Creating Band and Album 04:32 Creating Collection Of Bands In Single API Call 06:23 Adding Support for OPTIONS 06:07 Content Type Settings 01:16 Data Validation and Errors 4 lectures • 18min Adding Input Validation for Creating Album Preview 04:07 Adding Class Level IValidation with IValidatable Object 04:43 Creating Custom Validatio Attribute 06:08 Customizing Error Responses in Validation Attributes 03:09 PUT- Fully Updating Resources 5 lectures • 27min Creating UpdateAlbumForBand Action 02:51 Finishing Creation of UpdateAlbumForBand Action 06:26 Testing Updating Album For Band 06:35 Improving And Streamlining Validation 08:39 Testing Updating Album For Band With Improved Validation Preview 02:51 10 more sections Requirements Good grasp of C# language (intermediate level recommended) Visual Studio 2019 (any addition) with installed .Net Core 3.0 Basic familiarity with MVC pattern Familiarity with REST principles Basic knowledge of CRUD operations principles Description Thank you for checking out my course. So what is the course all about? As the name – “Creating RESTful API with ASP .Net Core 3.0 and Entity Framework Core” implies, we will dive into building an API using REST principles. We’ll use Entity Framework Core for persisting our data in database and ASP .Net Core 3.0 framework for interacting with it. What will we build. Simple answer is CRUD API that uses GET, POST, PUT, PATCH, and DELETE verbs to manipulate the resources for music Bands and the Bands Albums. However we’ll do so much more than that! We will also let our API to filter and sort resources; apply pagination to limit the number of resources per page; implement Data Shaping to allow the user specify which properties should be returned and which ones can be ignored; we’ll let the user to create a collection of resources with a single API request; support Json and XML; add Upserting, which is creating a new resource with update, if the resource doesn’t yet exists, and we’ll implementing it both for PUT and PATCH verbs; we’ll implement input validation, both with IValidatable Object and we’ll also create a Custom Validation Attribute; we’ll have a close look at status codes and make sure they adhere to REST principles; we’ll use OPTIONS and HEAD verbs and explore how and why to use them; and we’ll add custom headers to our responses. Of course, we will work heavily with Entities and Data Transfer Objects (DTO). And all of that will be implemented via Repository Pattern. Prerequisites. As you can see, it truly is Beyond Basics course. Although the course is suitable for all levels, because it covers the basics and more advanced topics, you are expected to have a good command of C# language, especially if you want to follow the advanced parts. You should also be familiar with MVC patter and REST principles as those are not discussed in any detail. Who is this course for. This course goes beyond the basics. It's for everyone who wants to learn how to create RESTful API with ASP.Net Core 3.0. NOTE: this is not a beginners course! It's designed for intermediate and advance level programmers Whether you never created an API, or are familiar with the basics and want to explore more advanced topics, you will find this course perfect for you. As long as you have solid C# skills, you will be able to follow along. Everything is coded on camera, and each line of code is explained in detail, so you will never be lost and always know WHAT we are doing, and equally important, WHY we are doing it. Are you ready to dive into creating RESTful API? If so, let’s together jump into .Net Core 3.0 and create a well-built API that follows REST principles. See you in the course. Who this course is for: Programmers familiar with basics of API who want to explore more advanced topics Programmers new to REST API creation (but NOT new to C#) Programmers who want to learn how to create solid REST API with .Net Core 3 Developers who want to move to .Net Core 3 from previous versions Self-taught programmers with intermediate level of C# language skills Show more Show less Instructor Pavol Almasi Computer Programmer at Berkshire Hathaway Company 4.5 Instructor Rating 2,301 Reviews 38,066 Students 16 Courses I am a professional computer programmer for a national insurance company. I am versed in variety of programming languages, technologies, and frameworks. Currently using mostly SQL and .Net. I have a Bachelor's Degree from City University of Seattle. I first came in contact with programming back in the good 'ol days of Visual Basic 6 and Visual Basic for Applications. Manipulating Access databasea was so much fun! I moved onto Web development in early 2000's, using HTML and CSS, later added PHP. It was then when I realized I really enjoyed the coding of the back end much more than the design part...and that joy of coding stayed with me ever since. I LOVE coding, and I LOVE doing exercises and projects in my free time. I am hoping my courses help you to better understand the programming principles and give you a good starting point for your further adventure in computer programming, Show more Show less Udemy Business Teach on Udemy Get the app About us Contact us Careers Blog Help and Support Affiliate Impressum Kontakt Terms Privacy policy Cookie settings Sitemap © 2021 Udemy, Inc. window.handleCSSToggleButtonClick = function (event) { var target = event.currentTarget; var cssToggleId = target && target.dataset && target.dataset.cssToggleId; var input = cssToggleId && document.getElementById(cssToggleId); if (input) { if (input.dataset.type === 'checkbox') { input.dataset.checked = input.dataset.checked ? '' : 'checked'; } else { input.dataset.checked = input.dataset.allowToggle && input.dataset.checked ? '' : 'checked'; var radios = document.querySelectorAll('[name="' + input.dataset.name + '"]'); for (var i = 0; i (function(){window['__CF$cv$params']={r:'677868e37c324089',m:'00ed007039074f2ff42dedf0af9b9309ab73dc29-1627751109-1800-AVAfLIJqZewEYmopAYVyJcVOiVkRv9UCzVnew81NxfpaI9h6bBhNMgRm3qljQngMPF7IxNPPRRqhzyPqrS4pB8qgSV8CZfiKRLecZX3FQ0NE/72nSLoPzNvrAcjuTN0p6emBSWL8CPM/kKL3ad0P2tPMyYD0GI1H/z2QYYHVOE4p',s:[0x9117ad924d,0x331eb26495],}})();
  8. Validattion using IValidatable Object Creating Caching Profiles Caching Resources Repository Pattern Data Shaping Mapping Entities with DTO using AutoMapper Creating Collection of Resources with single API request Additional verbs - OPTIONS, HEAD UPSERTING with PUT and PATCH Supporting JSon and XML Content Types Adding Custom Headers to responses HATEOAS Show more Show less Course content 20 sections • 121 lectures • 9h 0m total length Expand all sections Introduction 1 lecture • 1min Download Source Files 00:12 Setting up the project 2 lectures • 9min Creating the Project Preview 06:25 Adding NuGet Packages Preview 02:09 Setting Up Entities and DbContext 5 lectures • 19min Creating Band Entity Preview 02:41 Creating Album Entity Preview 01:57 Adding Data Annotation 03:23 Adding DbContext 03:29 Adding Script to Seed The Database 07:24 Creating and Implementing Repository Interface 9 lectures • 26min Creating Interface Repository Preview 07:09 Injecting DbContext to Repository Implementation Preview 02:51 AddAlbum Method Implementation 02:19 AddBand Method Implementation 02:45 RemoveBand and RemoveAlbum Method Implementation 01:22 GetAlbum Method Implementation 02:32 GetAlbums Method Implementation 01:30 GetBand and GetBands MEthod Implementation 01:30 GetBandsByIds Method Implementation 03:58 Database Set up 3 lectures • 14min Adding Connection String 05:20 Preparing Database Migration 05:38 Creating Database 03:18 GET - Getting Resources, Se