So often I'm looking at a tutorial which goes too in depth causing me to lose interest and not understanding the actual message they're trying to portray. This tutorial is perfect! I understood every word and feel like I understand (C#) WebAPI's better now. Thank you!
The most important thing in your videos is the pace of your speech. The slower you talk, the more understanding for those who are not English native speakers. Thanks Tim Corey.
I don’t know what makes me more mad. That I paid a bunch of money to go to college where I wasn’t taught any stuff remotely close to what is used in the field or that it took me as long as it did to find this channel. Been watching your videos for sometime now and I don’t know what it is but the way you talk and teach is just so intriguing and doesn’t put me to sleep like most tutorials out there
I have developed APIs in Python, but not in C#. This video was exactly the key information I needed to make the transition smoothly. Much appreciated. Well worth the time to get the "whys" as well as the "hows".
Excellent tutorial! I've been a developer for more then 20 years. MVC is new to me and you explained in 1.5 hours what would have taken me a week to learn. Thanks!!
Oh, Man!!! Before watching this video, I was very skeptical about Web API, but now I'm very much into Web API and will definitely build my future project on it. Thank you, Tim!!
Tim, I greatly appreciate the time and effort that you put into these tutorials. The level of detail and amount of information presented is very impressive. Thanks very much!!!
How to deploy projects is a high-priority video for me. That is one that confuses a lot of people. That video should be out within the next few videos.
This was my first port of call to get started with REST after ive realised that what ive previously learned using WCF to send data from my xamarin app has limitations and just wont do the job i require long term, so thanks again for the clear and easy instruction so i can move forward. I've been writing business desktop apps since the late 70's (winforms and .NET since 2005), and although i'm getting a tad long in the tooth now as i approach 60, still realise just how much i need to know, and the good basic grounding with clear explanation you give is just what works for me, so Thanks again Tim
We're in 2021 now but I still find this video super informative! I made a WebAPI yesterday and encountered the same problem @45:00 in this video, which is "cannot maintain the instance property across different API calls" as Tim mentioned. However I found a solution to it --- if you make the property static, not an instance property but a static class property, the value won't get destroy/recreate along with the controller instance. In this way the property can survive between difference API calls. However, that, imo, would make the whole API not RESTful. i.e. the different calls with same context would result differently. Thanks so much Tim : ) Most of my C# knowledge related to Web are getting from you!
i just wanted to thankyou for these tutorials on c# related concepts. trust me you are a great teacher . the way you are spreading your knowledge is amazing. i am actually started liking c# after watching these videos by you !! :)
Great video and lesson. In fact, I find all of the Tim Corey C# lessons really good. The lessons get you started, they give you definitions of key terms and, finally, TC makes you aware of code structure.
Thanks for this, I've set it to 1.5 speed, and it was quick! LOL. Unlike the other tutorials on YT that takes 3 or 4 hours just to show the fundamentals of a topic. Great job, I've subscribed! Wouldn't have been better if you're part of my dev team and be my mentor! ;p
@@IAmTimCorey Hey Tim, I wonder if you're going to upgrade this to the latest .net core, same structure with deployments, probably to IIS, Azure or AWS? cheers
I was always building web applications using pure ASP.NET controllers, but now that I know how to use Web API it's so much more fun! I first create a Web API project and implement all my database logic and then build an ASP.NET web application project that uses ajax asynchronously to call my logic from the API. It's so much smoother and more responsive than I could have ever imagine! Definitely put out more content about WEB API, please.
Nice! I like it. When you are calling the WebAPI using ajax I'm assuming that is through the front-end (JavaScript). One thing people often miss is that if you need some of that data ahead of time when the ASP.NET page is built, you can call the API classes directly as if they were just classes, not an API. No need to go to a URL when you are calling internally. Just instantiate the WebAPI class and call the method you want. Blending the front-end calls with the back-end calls really gives you the best of both worlds.
40 minutes into this you have a new subscriber. This is really great stuff. You are so clear and not super fast. Thank you for such great videos, I'm looking forward to watching many more!
Good video, albeit EXTREMELY slow going. It's strange because it seems targeted to beginners, yet some of the syntax is left unexplained, such as the arrow function used in the overloaded GET method. I'm still trying to get down C# so it would've been nice to just say "lambda expression" instead of "greater than or equal to". I didn't catch that it was an arrow function at first so I was really confused about the syntax. (I'm not thrilled with the syntax for arrow functions either. It would've been nice to use two >> instead to be a bit more distinct from the greater than or equals to operator, but what can you do.)
Yeah, this is a beginner video for WebAPI but it does assume some prior C# knowledge. That's the hard balance to hit in these types of videos. What level to assume the user is coming into it. Even though this is a beginner video, it really shouldn't be for C# beginners because it is too advanced for that.
When illustrating the POST action, you manually built the JSON representation of a Person object in Postman and sent the POST request. How would that JSON get built and POSTed in a real life environment where end users won't be using Postman? As always, thanks for the video, Tim!
Hey Tim, first of all thank you for the great tutorials. You really make it easy learning and understanding C#. I've started getting into it after my employer decided to migrate everything to MS products. I have one question: Is there any chance that you update your WebAPI series for .Net Core 3 and/or .Net 5 (being released soon)?
First time I remember you saying "Duh"! LOL, Keep em coming. I always look for a video from you on any coding subject I am interested in. Have bough a couple of courses from you too and well worth the money!
Great video. I knew webapi as a built one of around 9k lines of code in my spare time that was used by my company to prototype an app that is currently in use. Yes, as you suggested, one should keep controllers very clean and put logic into classes (and unit test those classes just like a console app!). But the big thing I learned here was Postman. I went out and got it and started playing with it. Thank you so much!
Yep. I'm working on a plan for it. I'm anticipating that it will be an advanced Start to Finish course that will include WebAPI, WPF, a non-C# front-end, .NET Standard, and more. Still working on the plan.
I've been debating how to do that. I like showing WebAPI in a real-world context like this. The problem I have is that I don't want to have to teach Angular in order to show off WebAPI. I was hoping to use a simpler JavaScript UI. I just haven't landed on one yet. I like the suggestion. I just need to figure out how to make it accessible.
Vue is awesome. You can either use a simple version of it by linking to a CDN, or you can build it with an npm tool (vue-cli) for advanced features. Vue is really the most beginner friendly JS framework out there right now imo and it's very usable for advanced applications as well (I use it at work).
I'm actually looking to transition my company over to using Vue (we use AnguarlJS right now) because of its simplicity. I'm still concerned about all that you need to learn (npm, bower, webpack, etc.) or at least that you are tempted to learn if you go further. I try to keep things as focused as possible. I'd love to do just a jQuery front end since it is so simple but I don't know that that solution is real-world enough to be valid. Vue might be the best option.
You don't need npm, bower, webpack or any of that to try out Vue. But if you want to build a real application with a super nice structure, then you need npm and webpack. But the vue-cli sets everything up for you automatically. You just type in "vue init webpack project-name". And their Discord channel is really helpful as well if you got any questions.
I love your videos. They are perfect for me. I learn even more deep knowledge of C# although I have been working C# for 10 years. Your videos are understandable and help me with my coding. Thanks for your work.
Noooooo. I was so excited when I saw this video, but then you picked .NET Framework instead of .NET Core. :( Now I'm so sad. Do you know any good tutorials for .NET Core 2.0 Web API except for Microsoft's own docs? I have built one Web API with .NET Core and it was pretty nice, but I would like a good tutorial for it.
lol, yeah, I figured there would be a few people that felt this way. Never fear, I will be releasing videos on .NET Core, especially as it relates to WebAPI. I just needed to do a good foundational introduction to WebAPI and that means the full framework. I don't know of other tutorial out there on it. Part of the problem is that it is so new and has changed so much that it is hard to get a good tutorial out there before it becomes obsolete.
Tim Corey thank you for the super tutorial on WebAPI, I have already got some real time experience with C# Web APIs, your tutorial is like a reference guide to go back to even for experienced API developers. - Vijaya Laxmi.
Check out my TimCo Retail Manager series. That uses a WebAPI project as the middle tier and it accesses a SQL database. At the end of the day, though, it is no different than a desktop project. Data access works the same way regardless of the project type.
Nice Intro to WebAPI -- enough depth to keep it interesting but so much to be overwhelming. Thank you! Maybe at the end of your video you can suggest next steps or the best choice of your videos to watch next?
It is hard to recommend a next step in a video, since usually that step doesn't exist yet or it depends on the user. However, I do have a video outlining a good learning path: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-LUv20QxXjfw.html
I've been watching your videos for 2-3 days and I'm very excited with the way you explain all these topics. You make it look so easy.... keep going man und thank you very much for all this help!!!
Great video. Gave me just the right amount of information. I now have a much better understanding of WebApi. I am working on a webapi at my work and so this course really helped. Thanks for doing it!
Wonderfully done. Even liked how you didn't edit out the api/put walkthrough to demonstrate how the request is processed when the put actually writes. Very nice, sir!
Thank you very much for the tutorial sir. It helps me a lot to understand WepAPI. I am an intern in one company and have to learn WebAPI. I was struggling with some points which I could not figure out but now I understand clearly. Again, thank you so much sir to make this video and spend ur time.
Thank you for the great tutorial! Minor addition... If you made your list static (without a constructor), you would be able to get all four people with your Get call after you added a person with your Post call. static List people = new List() { new Person {FirstName = "Tim", LastName = "Corey", Id = 1 }, new Person { FirstName = "Sue", LastName = "Storm", Id = 2 }, new Person { FirstName = "Bilbo", LastName = "Baggins", Id = 3 } };
I really appreciate this video. I like that you keep it simple, and don't introduce to many new things at the same time. For instance it was good that you didn't also talked about EF and other stuff. Good job!
37:29 The people get call using id will only work if that data is unique which it should be in theory since it's a user identifier. If it's not and you might get back multiple rows or want to confirm it is unique you should be using: public List Get(int id) { return people.Where(x => x.Id == id).ToList(); } Great tutorial though, just adding this here to assist others.
It's 3:25am in the morning & I completed your video. It was helpful to scratch the surface of creating a web api. One thing I was looking forward in this video was connecting it to a SQL DB. None the less, I enjoyed the knowledge provided by you and I'm greatful. Also, I happen to notice that you reply to most of your comments and that's so kind of you. Hope you have a good day Tim !! ^_^
These two videos should help: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Et2khGnrIqc.html and ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-24iujm49y10.html The first will show you how to do SQL data access in C#. The second will talk you through how knowing SQL data access in one UI should be the same as knowing it for any UI.
ok so I rarely ever make any comments on tutorials. But I must say: +9000 for your distaste of entity framework +9000 for your restful api rabbit hole comment I rarely ever see a professional admit to those things! THANK YOU! I was going insane thinking I was the only one who feels that way.
lol, I'm glad to tell you that you are not the only one. There are a lot of us out there. In fact, when I speak at conferences with database administrators, they overwhelmingly dislike EF.
Thank you Tim - your videos are so well explained and are a pleasure to watch and learn with. Thank you for your efforts - you're a natural communicator.
Thank you for creating and sharing the tutorial. Also, your comments are really valuable about why should we use web API and other tips when creating web applications.
Hi Tim, 46:35 we can make the List static, and populate it in the static constructor of the controller, so it wouldn't be overwritten on every call : public class PeopleController : ApiController { static List People = new List(); static PeopleController() { People.Add(new Person { FirstName = "aaaa", LastName = "bbbb", Id = 1 }); People.Add(new Person { FirstName = "cccc", LastName = "dddd", Id = 2 }); People.Add(new Person { FirstName = "eeee", LastName = "ffff", Id = 3 }); } ........ } Hope this helps !
This video was so insightful for me! It was like…I don’t know. A breath of fresh air. I am so happy to find your channel. You videos are so detailed and really show design of applications which used in real world. You are a genius Tim! Like a Mozart of programming! P.S. I would definitely buy your course if Visa or Mastercard worked in my country. But they are not working and for a really good reason. When I’ll move to a different location I’ll subscribe to your Patreon.
Hello. Thank you. I combined this video with your "data access txt files" video to make a "fake database" so to speak and I was actually able to GET and POST data back and forth, reading data from txt file as well as writing into it. I also managed to make use of PUT method (which you kind a skipped in this video) updating existing object in a list. Actually deleting and replacing (inserting in position from deleted obj) it completely. Not updating specific property of it. :D. No clue how lists work. Yet. At first I thought this video is not what I need, because I started new api project with core.5 and the template was different form this one in the video. This can be very discouraging if you are just starting out and have 0 exp in c#. Still I did watch it and I recommend anyone else, if one has doubts, to do so. For a beginner this is well enough explained. Looking back at the code I wrote, it is hard to believe that I did it myself. (with a help and info from these videos) Very well narrated, informative, clear , relaxing. Beginner friendly. Also, I'm amazed you even have time to create this content. Let alone to respond to youtube comments. Insane. It probably takes pa lot of preparation to make sure everything will work at the end and knowing what aspects to explain to the audience. Amazing! I don't know if you care for suggestions. You must be a busy man. However, I feel like it would be great if your video description contained time index. that would be great for rewatching purposes when you are searching for that one bit... and wonder where it was. was it even in this video ... :D Then again, I understand that you can't really talk about one thing without talking about another and might touch on some topic only very briefly... Anyway, great content! Thank you very much !
I am glad you are enjoying the content. As for time indexes, that is one thing I don't have time for right now. However, if you submit time indexes for videos, I'll add them to the description (after reviewing them, of course).
great tutorial, fun thing is the "couldn't you guess" on the xml doc is exactly the reason I'm starting to remove most of my comments when they're not part of a public api or not explicit. If your naming convention is clear enough, you don't need it :D
I was literally just looking into learning some WebAPI stuff, after just watching your Caliburn Micro video. (godsend!) Fantastic stuff as always, can't wait to watch this in detail.
3:14 Slight correction: In 2002, Microsoft released .NET Framework, a development platform for creating Windows apps. Today .NET Framework is at version 4.8 and is still supported by Microsoft. In 2014, Microsoft began writing a cross-platform, open-source successor to .NET Framework. This new implementation of .NET was named .NET Core until it reached version 3.1. The next version after .NET Core 3.1 is .NET 5.0, which is currently in preview. Version number 4 was skipped to avoid confusion between this implementation of .NET and .NET Framework 4.8. The name "Core" was dropped to make clear that this is now the main implementation of .NET. The future one and only framework is going to be called .NET 5, but much of the documentation for .NET 5 still has references to ".NET Core" or ".NET Framework". In addition, "Core" remains in the names ASP.NET Core and Entity Framework Core. Some documentation also refers to .NET Standard. The .NET Standard is an API specification that lets you develop class libraries for multiple implementations of .NET. Source: docs.microsoft.com/en-us/dotnet/core/introduction
This was recorded in 2017, before .NET Core had a great parity with the .NET Framework. Now, I definitely recommend starting with ASP.NET Core API instead of WebAPI.
Hi Tim thank you for the free tutorials that you've been sharing for free it really helps me a lot, I'm also hoping for your full project based course on ASP.NET Web API with user Login and stored procedure at backend, and I'll surely purchase that course! Thank you Tim!
Not much I can say other than fantastic. Ok some more.... very well presented, cut to the chase and gives perfect overview of 99% of what most people would need to know. I am now looking for your other tutorials :-)
Tim, one suggestion is having a new video about the web api with entity framework, that the api have a connection to database and returns data when the api is called(get) and also include delete, put, and post on database operations. I think this is further step of this video
Just came across your channel today. You are an excellent teacher, man! Really great videos, very straightforward and easy to understand. You have a new subscriber! :)