This tutorial is more for people who have experience in building RESTFULL applications. I used to make them in javascript and now I switched to C# so its more like a refresher for the syntax
Hell yeah! same here, from TypeScript to C#, which feels a bit more natual than JS -> C#, but I cannot believe how rich the .NET Framework is! And how is it from the first line of code, has the feeling to that it was built for industry standards. Just a great way of building APIs
Copilot is fun and all, but on a tutorial for beginners it's really annoying pausing the video all the time to go back and check what you wrote because it suggested it and you moved on :) Really nice tutorial!!
Yeah. You can follow if you're just beginner with REST API stuff, not C#, but basically a lot of namespaces and boilerplate code gets generated for him very fast by his AI assistant. Personally I think it's better to write it all out yourself when you're doing katas like this. It's kind of worth it though to hear him say "yeeeessssssss" every time he approves of some AI suggestion. 😍
You can still pause and type the block. The video would be quite a bit longer if he had to type it all out every time. It's not as bad as a time skip where suddenly there's 50 extra lines of code.
Thank you so much. I was looking for this exact topic and now I have an API I can use for my game studio. It's not breakfasts but the concept is exactly the same. It's definitely a good amount of work to get this much done and we haven't even talked about the database part or securing the endpoints. Looking forward to that.
It's a bit fast not gonna lie. I find myself pausing and rewinding every 5 seconds just to keep up. Either explain more what you're doing and why or label it as an intermediate/advanced course not a beginners course.
people will complain even if it's free.😅 just slow down the video, take notes, research what you don't understand. this is how you self learn. and first of all, learn to appreciate what you get for free. 🙆🏻
@@AbdullahWinsit’s a fair criticism of the lesson though. You think freeCodeCamp puts all this time putting these together but don’t care about the user feedback just because they provide it for free? They still make money off of site traffic and views, so they definitely care to make sure their target audience happy with their product. If it’s not “too fast” for you then great, that’s good for you, doesn’t mean you get to be the gatekeeper of criticism on their platform.
I think it would have been helpful if he went over the extensions he had installed first, or at least listed them in the description, because his files have some code auto generated in them and it would have been helpful to be able to have a similar experience instead of cutting a pasting from the repo files each time.
Thank you so much for this tutorial. It was great creating my first api and i enjoyed it alot. The way you explained was very nice and on to the point.❤
Great video. Although I can't follow your shortcuts. Which shortcuts do you use? Can you point me to where I can learn these shortcuts? Which extension?
I really want to follow this course but it doesn't mention the prerequisites (which every course should) so as a beginner to programming, I don't want to waste my time watching something I don't understand :)
Ooh, that's great feedback. Thanks, Rayan! Tech prerequisites: C#/.NET, JSON, HTTP, client-server communication Software prerequistes: .NET 6 SDK, VSCode I have a tutorial for setting VSCode similar to what I have in the video: ruclips.net/video/m9HvsB1-hAo/видео.html
Reminder for 21:52: if you create a class named :Breakfast then name the class Breakfast, this can cause compiler error. I get the error and fixed by changing the class name
Thanks for sharing this. My concern here is that you have developed a tightly coupled solution heavily dependent on your ErrorOr package. If there arises a need to remove or replace this package, it could impose a substantial workload on developers. Additionally, adding this package appears to complicate the solution, making it harder to maintain. It is essential to notify viewers at the beginning of the video that the solution presented relies entirely on a third-party package. 😓😓
Sacrificing a lot of readability over some fancy sophisticate code, which make sense to people who use c# for a long time(maybe) but not for begginers or even intermediate developers, sometimes the best code is the way the whole team write code, not because you wrote 5 lines less is better. Just my opinion, discovered a lot of thing that I didn't know about but after all not sure I will implement them, as took me time to understand them while I want my code to be understood in 5 seconds when you read it.
Do you how to use that syntax? VSCode highlights all the code as error when I use that syntax and I haven't found a way to fix it. Am I missing any extension or something?
Not for complete beginner programmers but for C# and .NET beginners with other programming experience. I have frontend experience and I'm pausing a lot to google stuff lol
Well, I guess this one is more appropriated for those who are already familiar with high-typing languages like Java for example. I've been building a few RESTful apps in Java using Spring and it really shocked me how similar both syntaxes actually are.
all i will remember from this tutorial is that every time the code get suggested, he says YES!!! , but its good for beginner point of view, thanks for the video
Thanks a lot for the valuable information, it is really nice. i would say as i am coming from php Laravel background, Laravel is more advanced in terms of how it is ready to handle and map the request using FormRequest Class for data validation, data rules, and check user authorization, same goes for handling RestFul results, for instance, 404 error, Laravel ORM Eloquent has findOrFail() to return 404 directly. Thanks again and looking forward to a new video. Happy to do joint video to compare between asp and laravel
What template are we suppose to use for these projects in visual studio 2022? Why are you pasting the code for the api in a tutorial video for creating an api at 6:57?
With windows 95, everyone was so excited that they don't have to stare into a black screen of text and don't have to write an entire line of commands to do a simple task like openning an editor. These days, seems developers are going retro all the way, and like to type in every command to do things that you can do with just a right click or a keyboard shortcut. Also I wouldn't suggest surrounding blocks of code with braces unless it is really necessary, you are teaching a thing to new developers that will cause days of headache for seniors to debug. As for data store, when I teach juniors, I always put the data in a different class that does the crud internally (DAL concept), then call methods of that class instead to avoid distracting them from what actually are trying to learn. (your storage is inside your service code
personally, knowing how buttons of IDEs do the works is nessesary. Juniors then can use IDEs without questioning what lays under the hood. Furthermore, devs should know how to use terminal.
This video was amazing, I learned so much, thank you! I have one question regarding the From factory methods. Are they breaking the "correct" dependency direction? where your Model only needs to know about itself? These seem very handy as you reuse code of creating a breakfast form a request. But now your Model needs to know about the Create and Upsert request records. And if you keep adding more types to create a breakfast from, your model needs to keep adding factory methods and have dependencies on all those external types. Could that be a problem? If so, what coudl be a solution to it?
This tutorial is terrible. I can't follow anything after about 16 minutes because it won't build. It has 7 different errors, and there's no contingency for this in the video. I've followed along and done everything exactly as the video described and nothing's working.
The ErrorOr type is a sign of totally overengineering. Think about what you are really doing. Because you think you need to combine two results, the error code and the object, you package those into a new object which will use up some server power. Not necessary at all. Nobody requests that the Service must return all data in the result. You can simply write 'public ErrorCode GetBreakfast(out Breakfast)'. If everything is ok return Ok and the breakfast, if not ok return 'NotFound' or another code plus breakfast as 'null'. Easy peasy. No need for first enpackaging both into a new object and later on taking them apart again. If you want multiple error codes, for which I don't see the need at all, since you can't return this to the user, you can return 'List'. If you want multiple error codes for internal documentation, just write them into the server log. This all adheres to the KISS principle.
The tutor is very fast. The context does not not cover all the basics and far from being a beginner's tutorial and mostly focused on error management. Thanks anyway.
Hello, I'm from China. Since YouToBe is not accessible in China, can I upload your teaching video to China's domestic website? I'll flag the source of the video.
Hi Yoan, I was hoping to create a tutorial that is suitable also for beginners in the world of web APIs. Would love to hear your feedback and if the various visuals help understand the concepts 🙂
I couldn't understand why you were using VSC for backend as well. Because, when front end code will be written, it will all be getting mixed up. You should keep it separately as VS for backend and VSC for frontend. The speed was too fast. Most of the concepts you tried to explain were difficult to understand. Sorry to say but I didn't like your approach of coding. Surely not for the beginners.
@@HelloWorld-th9vb Agreed.I don't know how to write robust applications because I'm at beginners level. So, by reading the title I thought this might help me. But, still I don't think it's for beginners who wants to learn VS.
So I am having several issues trying to get the test ID to respond on the Upsert, Get, and Delete breakfast http pages It's giving me a 405 method not allowed error message after i click on Send Request. Am I using the wrong localport, or is there an actual setting that I've overlooked?
This tutorial is more for people who have experience in building RESTFULL applications. I used to make them in javascript and now I switched to C# so its more like a refresher for the syntax
Hell yeah! same here, from TypeScript to C#, which feels a bit more natual than JS -> C#, but I cannot believe how rich the .NET Framework is!
And how is it from the first line of code, has the feeling to that it was built for industry standards. Just a great way of building APIs
Wow that teacher is in a hurry! Would nice to see this without copilot and with more explanations.
This was a fun one to make. Really eager to hear what you think! 🤙🏼
This is the best video on the topic that I've seen.
please, can i have the extension that open a window and you select options to generate code for Constructors,.. and other action sir? thank you
FOund it guys. I think it is the IntelliCode hotkey that he used which is Ctrl + .
Hi, I like the way you quickly go thru the tutorial. Some presenters spend hrs on just one concept. Tks
Carlo
Copilot is fun and all, but on a tutorial for beginners it's really annoying pausing the video all the time to go back and check what you wrote because it suggested it and you moved on :)
Really nice tutorial!!
I actually had to open his repository to know what exactly was on the screen because he doesn't use word wrap
Yeah. You can follow if you're just beginner with REST API stuff, not C#, but basically a lot of namespaces and boilerplate code gets generated for him very fast by his AI assistant. Personally I think it's better to write it all out yourself when you're doing katas like this. It's kind of worth it though to hear him say "yeeeessssssss" every time he approves of some AI suggestion. 😍
You can still pause and type the block. The video would be quite a bit longer if he had to type it all out every time. It's not as bad as a time skip where suddenly there's 50 extra lines of code.
I think this video is only for refresher purposes. Nothing new can be learned since nothing is explained.
.Net 6 and Spring Boot are my favourite backend frameworks
.NET is much more enjoyable to develop with compared to Java/ Spring tbh.
Thank you so much. I was looking for this exact topic and now I have an API I can use for my game studio. It's not breakfasts but the concept is exactly the same. It's definitely a good amount of work to get this much done and we haven't even talked about the database part or securing the endpoints. Looking forward to that.
Congratulations on 6M subscribers . The family is getting bigger day after day 🌹😍😍
Learning APIs from Tyson Fury himself! What a day!
Lmfao 😂😂😂😂😂😂😂
Finally a video with nice pace, and without spending too much time on explaining basic stuff.
it's the first time I set the speed of the video to 75%! But it's a great content! Thank you!
The timing on this is perfect, thank you!
It's a bit fast not gonna lie. I find myself pausing and rewinding every 5 seconds just to keep up. Either explain more what you're doing and why or label it as an intermediate/advanced course not a beginners course.
I agree
Absolutely true.
Well, the title says industry level, so I think that is not beginner level.
people will complain even if it's free.😅
just slow down the video, take notes, research what you don't understand.
this is how you self learn. and first of all, learn to appreciate what you get for free. 🙆🏻
@@AbdullahWinsit’s a fair criticism of the lesson though. You think freeCodeCamp puts all this time putting these together but don’t care about the user feedback just because they provide it for free? They still make money off of site traffic and views, so they definitely care to make sure their target audience happy with their product. If it’s not “too fast” for you then great, that’s good for you, doesn’t mean you get to be the gatekeeper of criticism on their platform.
I think it would have been helpful if he went over the extensions he had installed first, or at least listed them in the description, because his files have some code auto generated in them and it would have been helpful to be able to have a similar experience instead of cutting a pasting from the repo files each time.
Agree
Look for his youtube channel. He has already made a video dedicate to the extensions he uses
I am new here ..
And everything is just keep on going.... nothing is explained properly....
Most useful for experienced ones.
My congratulations to 6 million subscribers. Your channel is so cool🔥❤️
I've just seen real software engineering bare naked.. Thanks for the efforts to make this video.
Thanks, Sean 😊
@@amantinband Following you via your RUclips Channel.
Thank you so much for this tutorial. It was great creating my first api and i enjoyed it alot. The way you explained was very nice and on to the point.❤
Great video. Although I can't follow your shortcuts. Which shortcuts do you use? Can you point me to where I can learn these shortcuts? Which extension?
Do you mean vim?
Industry level. Thats what i need
The video is good, but it lacks of explanation about why and what you are doing something.
I really want to follow this course but it doesn't mention the prerequisites (which every course should) so as a beginner to programming, I don't want to waste my time watching something I don't understand :)
Ooh, that's great feedback. Thanks, Rayan!
Tech prerequisites:
C#/.NET, JSON, HTTP, client-server communication
Software prerequistes:
.NET 6 SDK, VSCode
I have a tutorial for setting VSCode similar to what I have in the video: ruclips.net/video/m9HvsB1-hAo/видео.html
@@amantinband Thank you so much
Reminder for 21:52: if you create a class named :Breakfast then name the class Breakfast, this can cause compiler error. I get the error and fixed by changing the class name
What extensions do you use on vscode?
good, thanks! I need to learn REST API
Thanks for sharing this. My concern here is that you have developed a tightly coupled solution heavily dependent on your ErrorOr package. If there arises a need to remove or replace this package, it could impose a substantial workload on developers. Additionally, adding this package appears to complicate the solution, making it harder to maintain. It is essential to notify viewers at the beginning of the video that the solution presented relies entirely on a third-party package. 😓😓
agree, It is sad to know that it did not conform to a standard and that we will not see a code like this outside.
Very Good Knowledge
Thanks, Soham 🙏
Can I know from where can I learn .net for web development in vs code not visual studio, because my lapy does not support visual studio
Sacrificing a lot of readability over some fancy sophisticate code, which make sense to people who use c# for a long time(maybe) but not for begginers or even intermediate developers, sometimes the best code is the way the whole team write code, not because you wrote 5 lines less is better. Just my opinion, discovered a lot of thing that I didn't know about but after all not sure I will implement them, as took me time to understand them while I want my code to be understood in 5 seconds when you read it.
Do you how to use that syntax? VSCode highlights all the code as error when I use that syntax and I haven't found a way to fix it. Am I missing any extension or something?
Not for complete beginner programmers but for C# and .NET beginners with other programming experience. I have frontend experience and I'm pausing a lot to google stuff lol
dudes whats the name od that extension that autocomplete properties or constructors? :/
PD.
I like this course
it is autopilot I guess
Well, I guess this one is more appropriated for those who are already familiar with high-typing languages like Java for example. I've been building a few RESTful apps in Java using Spring and it really shocked me how similar both syntaxes actually are.
Same here, started learning java recently and it's shocking how similar it is to C# lol.
all i will remember from this tutorial is that every time the code get suggested, he says YES!!! , but its good for beginner point of view, thanks for the video
Thank you for another great video, can't wait to finish it!
Hello from Turkey 🇹🇷
Amazing!!
Thanks, CloudNey!
Thank you, it works perfect!
Thanks a lot for the valuable information, it is really nice. i would say as i am coming from php Laravel background, Laravel is more advanced in terms of how it is ready to handle and map the request using FormRequest Class for data validation, data rules, and check user authorization, same goes for handling RestFul results, for instance, 404 error, Laravel ORM Eloquent has findOrFail() to return 404 directly. Thanks again and looking forward to a new video. Happy to do joint video to compare between asp and laravel
Awesome work !.. 🥰🥰
Thanks! 🥰
Great tutorial!
best, hope someday php also have industry-level tutorials like this
.NET is much more enjoyable to develop with compared to PHP, Java, Python etc.
@@fieryscorpion .NET is a framework, not a language.
What template are we suppose to use for these projects in visual studio 2022? Why are you pasting the code for the api in a tutorial video for creating an api at 6:57?
What terminal do you use? Please share the settings for it.
Very good content, I have a question- why design patterns not implemented
With windows 95, everyone was so excited that they don't have to stare into a black screen of text and don't have to write an entire line of commands to do a simple task like openning an editor. These days, seems developers are going retro all the way, and like to type in every command to do things that you can do with just a right click or a keyboard shortcut.
Also I wouldn't suggest surrounding blocks of code with braces unless it is really necessary, you are teaching a thing to new developers that will cause days of headache for seniors to debug.
As for data store, when I teach juniors, I always put the data in a different class that does the crud internally (DAL concept), then call methods of that class instead to avoid distracting them from what actually are trying to learn. (your storage is inside your service code
personally, knowing how buttons of IDEs do the works is nessesary. Juniors then can use IDEs without questioning what lays under the hood. Furthermore, devs should know how to use terminal.
Much informative!
Thanks
This video was amazing, I learned so much, thank you!
I have one question regarding the From factory methods. Are they breaking the "correct" dependency direction? where your Model only needs to know about itself?
These seem very handy as you reuse code of creating a breakfast form a request. But now your Model needs to know about the Create and Upsert request records. And if you keep adding more types to create a breakfast from, your model needs to keep adding factory methods and have dependencies on all those external types. Could that be a problem? If so, what coudl be a solution to it?
simply amazing! thanks for it
thank you so much for this tutorial. can you make a tutorial, about how can we undo and redo the deleted and updated function in c# .net.
You say the sexiest "yes" I've ever heard. It's practically ASMR. 😂
Someone is displaying features of some presentation software I think. :)
Haha It's figma 😎
downloaded, it worked, the author ty
Haha love the "....yes"
very well explained, thax for sharing
I know it's not important but I really don't get the use case of this app. Private breakfast events?
I always watch teaching tutorial videos. Your programming style is polished, understandable, and you are able to explain simplifying the concepts 👌🏼
This tutorial is terrible. I can't follow anything after about 16 minutes because it won't build. It has 7 different errors, and there's no contingency for this in the video. I've followed along and done everything exactly as the video described and nothing's working.
Well done
The ErrorOr type is a sign of totally overengineering. Think about what you are really doing. Because you think you need to combine two results, the error code and the object, you package those into a new object which will use up some server power. Not necessary at all. Nobody requests that the Service must return all data in the result. You can simply write 'public ErrorCode GetBreakfast(out Breakfast)'. If everything is ok return Ok and the breakfast, if not ok return 'NotFound' or another code plus breakfast as 'null'. Easy peasy. No need for first enpackaging both into a new object and later on taking them apart again. If you want multiple error codes, for which I don't see the need at all, since you can't return this to the user, you can return 'List'. If you want multiple error codes for internal documentation, just write them into the server log. This all adheres to the KISS principle.
Where is the definition of the api that just randomly gets pasted out of nowhere?
I love you freeCodeCamp, just... just wanted to say that 😊
For me MatchFirst() accepts a single error, not a List, thus not matching the Problem() arguments you have in your example. What am I missing?
Pleasure that we have freecode camp xD
So what program is he using when creating the project and solution?
Command line
Do yourself a favor and put playback speed back to normal @ 0.75.
what's your used extension for IntelliSens ecode completion? It is pretty cool! I want it.
did u got it ??
After watching 15 minutes i am like.. kehna kya chahte ho.. however it's a good work sir but should be more descriptive.. especially for shortcuts
Thank you for sharing your knowledge. I have one question - why did you create a new entity (breakfast) using the PUT method?
*Phenomenal video!*
Amazing content. Thanks!
Good content
Thanks, Brijesh 🤙
What code completion extension are you using? It is so cool!
u find it ?
Amazing!!!, thank a lot
Great video !! Thank you!!
bro, u best
great
Thanks so much!
short and crisp
which terminal is he using ?
looks really nice
The tutor is very fast. The context does not not cover all the basics and far from being a beginner's tutorial and mostly focused on error management. Thanks anyway.
Hello, I'm from China. Since YouToBe is not accessible in China, can I upload your teaching video to China's domestic website? I'll flag the source of the video.
Maravilloso!!!! One question, in which application did you make the Backend Service Architecture diagram? Thanks :)
**intellisense makes suggestion**
Yeeees
Thanks mate. 💌
Is this tutorial for beginners in the world of API?
Hi Yoan, I was hoping to create a tutorial that is suitable also for beginners in the world of web APIs. Would love to hear your feedback and if the various visuals help understand the concepts 🙂
@@amantinband i think is not si easy. Very fast pace
I couldn't understand why you were using VSC for backend as well. Because, when front end code will be written, it will all be getting mixed up. You should keep it separately as VS for backend and VSC for frontend. The speed was too fast. Most of the concepts you tried to explain were difficult to understand. Sorry to say but I didn't like your approach of coding. Surely not for the beginners.
Get used to this approach you wanna write robust applications, you probably just missing some basics but as you keep practicing you'l like iy alot
@@HelloWorld-th9vb Agreed.I don't know how to write robust applications because I'm at beginners level. So, by reading the title I thought this might help me. But, still I don't think it's for beginners who wants to learn VS.
@@ameykulkarni8165 you can pause the video...
Totally offtopic and dont know if its already asked here
But how do you setup the terminal like that?
Love the video i just encounter a problem, when trying 18:10 request i get "HTTP/1.1 500 Internal Server Error" why could it be?
me too, but i get an error 404...
.NET goated
Couldnt you just save statusCode number to Error class along with its string representation?
0:50 There's 'f' missing in the header of the video
Am trying to install dotnet SDK in ubuntu 22.04 and already am getting stuck 😂,
which tool do you use to show the flow?
I am getting 404 on CreateBreakfast request, please help
So if i was doing some project following this architecture and i was to implement Ef core, i would install it in BBF.Contracts folder??????
my vscode doesnt add namespaces automatically as yours. why is that? tried a lot of related stuff i found on internet and nothing worked =/
How do you get the PowerShell commandline to show the .NET core version?
So I am having several issues trying to get the test ID to respond on the Upsert, Get, and Delete breakfast http pages
It's giving me a 405 method not allowed error message after i click on Send Request.
Am I using the wrong localport, or is there an actual setting that I've overlooked?
Did you solve it ?
❤️
your nuget package is nowhere to be found. cool video though thanks for this post!