Industry Level REST API using .NET 6 - Tutorial for Beginners

Поделиться
HTML-код
  • Опубликовано: 4 окт 2024

Комментарии • 215

  • @ipoop4359
    @ipoop4359 11 месяцев назад +27

    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

    • @memoryleakerz
      @memoryleakerz 2 месяца назад +1

      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

  • @sepi4
    @sepi4 11 месяцев назад +12

    Wow that teacher is in a hurry! Would nice to see this without copilot and with more explanations.

  • @amantinband
    @amantinband 2 года назад +40

    This was a fun one to make. Really eager to hear what you think! 🤙🏼

    • @jan0195
      @jan0195 Год назад +2

      This is the best video on the topic that I've seen.

    • @TuanAnhVan-z2j
      @TuanAnhVan-z2j 4 месяца назад

      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

    • @TuanAnhVan-z2j
      @TuanAnhVan-z2j 4 месяца назад

      FOund it guys. I think it is the IntelliCode hotkey that he used which is Ctrl + .

  • @csilipo
    @csilipo 2 года назад +18

    Hi, I like the way you quickly go thru the tutorial. Some presenters spend hrs on just one concept. Tks
    Carlo

  • @broutality
    @broutality Год назад +111

    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!!

    • @aronreis
      @aronreis Год назад +7

      I actually had to open his repository to know what exactly was on the screen because he doesn't use word wrap

    • @mikicerise6250
      @mikicerise6250 Год назад +7

      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. 😍

    • @zZzlBoredlzZz
      @zZzlBoredlzZz Год назад +1

      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.

  • @romanemul1
    @romanemul1 2 года назад +80

    I think this video is only for refresher purposes. Nothing new can be learned since nothing is explained.

  • @brcdube
    @brcdube 2 года назад +15

    .Net 6 and Spring Boot are my favourite backend frameworks

    • @fieryscorpion
      @fieryscorpion 2 года назад +7

      .NET is much more enjoyable to develop with compared to Java/ Spring tbh.

  • @overcadostudios
    @overcadostudios Год назад +6

    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.

  • @kingofhiskingdom4616
    @kingofhiskingdom4616 2 года назад +20

    Congratulations on 6M subscribers . The family is getting bigger day after day 🌹😍😍

  • @tgfhtgfh4309
    @tgfhtgfh4309 2 года назад +44

    Learning APIs from Tyson Fury himself! What a day!

  • @srdjus4064
    @srdjus4064 3 месяца назад

    Finally a video with nice pace, and without spending too much time on explaining basic stuff.

  • @andregraes
    @andregraes Год назад +5

    it's the first time I set the speed of the video to 75%! But it's a great content! Thank you!

  • @ItsMePhoebe
    @ItsMePhoebe 2 года назад +11

    The timing on this is perfect, thank you!

  • @AveN7ers
    @AveN7ers 2 года назад +29

    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.

    • @hervinsonsamson1531
      @hervinsonsamson1531 2 года назад +1

      I agree

    • @ameykulkarni8165
      @ameykulkarni8165 Год назад +1

      Absolutely true.

    • @christian.mar.garcia
      @christian.mar.garcia Год назад +7

      Well, the title says industry level, so I think that is not beginner level.

    • @AbdullahWins
      @AbdullahWins 6 месяцев назад +3

      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. 🙆🏻

    • @thewalrusdragon9579
      @thewalrusdragon9579 4 месяца назад

      @@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.

  • @Artemisexe-gx4rt
    @Artemisexe-gx4rt Год назад +56

    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.

    • @luanassis9842
      @luanassis9842 Год назад +5

      Agree

    • @robertguzman6462
      @robertguzman6462 10 месяцев назад +1

      Look for his youtube channel. He has already made a video dedicate to the extensions he uses

  • @sandipgupta4506
    @sandipgupta4506 2 месяца назад

    I am new here ..
    And everything is just keep on going.... nothing is explained properly....
    Most useful for experienced ones.

  • @私はBRです
    @私はBRです 2 года назад +5

    My congratulations to 6 million subscribers. Your channel is so cool🔥❤️

  • @seanmui8772
    @seanmui8772 2 года назад +2

    I've just seen real software engineering bare naked.. Thanks for the efforts to make this video.

    • @amantinband
      @amantinband 2 года назад +2

      Thanks, Sean 😊

    • @seanmui8772
      @seanmui8772 2 года назад

      @@amantinband Following you via your RUclips Channel.

  • @DivyaGuda
    @DivyaGuda 3 месяца назад

    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.❤

  • @bakihz7997
    @bakihz7997 2 года назад +12

    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?

  • @Roads_india
    @Roads_india 2 года назад +1

    Industry level. Thats what i need

  • @dylan-j-gerrits
    @dylan-j-gerrits 2 года назад +6

    The video is good, but it lacks of explanation about why and what you are doing something.

  • @rayankhan12
    @rayankhan12 2 года назад +9

    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 :)

    • @amantinband
      @amantinband 2 года назад +10

      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

    • @bakihz7997
      @bakihz7997 2 года назад

      @@amantinband Thank you so much

  • @ibrahim-SO
    @ibrahim-SO Год назад +4

    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

  • @gabriel-torres3077
    @gabriel-torres3077 Год назад +8

    What extensions do you use on vscode?

  • @n.o.s.e.-nostressenglish4556
    @n.o.s.e.-nostressenglish4556 2 года назад +1

    good, thanks! I need to learn REST API

  • @JuniorMayhe
    @JuniorMayhe 11 месяцев назад +4

    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. 😓😓

    • @sebastianmedina5106
      @sebastianmedina5106 10 месяцев назад

      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.

  • @sohammahi7621
    @sohammahi7621 2 года назад +6

    Very Good Knowledge

    • @amantinband
      @amantinband 2 года назад

      Thanks, Soham 🙏

    • @dhanviakash726
      @dhanviakash726 2 года назад

      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

  • @loryteck
    @loryteck Год назад +8

    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.

    • @andtv1992
      @andtv1992 Год назад

      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?

  • @IcedCupcakes
    @IcedCupcakes 11 месяцев назад +1

    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

  • @piertFB
    @piertFB 2 года назад +5

    dudes whats the name od that extension that autocomplete properties or constructors? :/
    PD.
    I like this course

  • @shockin95
    @shockin95 6 месяцев назад

    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.

    • @RealValkor
      @RealValkor 5 месяцев назад

      Same here, started learning java recently and it's shocking how similar it is to C# lol.

  • @pritpalsingh5927
    @pritpalsingh5927 Год назад +1

    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

  • @LegitoTV
    @LegitoTV 2 года назад

    Thank you for another great video, can't wait to finish it!

  • @Hemecan.
    @Hemecan. 2 года назад +1

    Hello from Turkey 🇹🇷

  • @CloudNey
    @CloudNey 2 года назад +6

    Amazing!!

  • @mariadelosangeleshernandez2698
    @mariadelosangeleshernandez2698 2 года назад +1

    Thank you, it works perfect!

  • @adelajami8731
    @adelajami8731 Год назад +1

    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

  • @sharecodecamp
    @sharecodecamp 2 года назад +3

    Awesome work !.. 🥰🥰

  • @Omerfr31
    @Omerfr31 2 года назад +2

    Great tutorial!

  • @phunguyentrong722
    @phunguyentrong722 2 года назад

    best, hope someday php also have industry-level tutorials like this

    • @fieryscorpion
      @fieryscorpion 2 года назад

      .NET is much more enjoyable to develop with compared to PHP, Java, Python etc.

    • @name_less227
      @name_less227 2 года назад

      @@fieryscorpion .NET is a framework, not a language.

  • @NotAHomelessGamer
    @NotAHomelessGamer Год назад +1

    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?

  • @ruslanlevkov7484
    @ruslanlevkov7484 2 года назад +2

    What terminal do you use? Please share the settings for it.

  • @sravanthipulakhandam-l3h
    @sravanthipulakhandam-l3h Год назад +1

    Very good content, I have a question- why design patterns not implemented

  • @bobsort
    @bobsort 2 года назад +11

    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

    • @oziousmegasus9201
      @oziousmegasus9201 2 года назад +2

      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.

  • @faris.abuali
    @faris.abuali Год назад

    Much informative!
    Thanks

  • @aalbero
    @aalbero 2 года назад +4

    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?

  • @bijianwu5124
    @bijianwu5124 Год назад

    simply amazing! thanks for it

  • @rohan-san8148
    @rohan-san8148 2 месяца назад

    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.

  • @mikicerise6250
    @mikicerise6250 Год назад

    You say the sexiest "yes" I've ever heard. It's practically ASMR. 😂

  • @VincentGroenewold
    @VincentGroenewold 2 года назад +4

    Someone is displaying features of some presentation software I think. :)

  • @automationguy5600
    @automationguy5600 2 года назад

    downloaded, it worked, the author ty

  • @quachhengtony7651
    @quachhengtony7651 Год назад +1

    Haha love the "....yes"

  • @dev0_018
    @dev0_018 Год назад

    very well explained, thax for sharing

  • @invictuz4803
    @invictuz4803 Год назад +1

    I know it's not important but I really don't get the use case of this app. Private breakfast events?

  • @kopilkaiser8991
    @kopilkaiser8991 11 месяцев назад +1

    I always watch teaching tutorial videos. Your programming style is polished, understandable, and you are able to explain simplifying the concepts 👌🏼

  • @GermansLikeBeer
    @GermansLikeBeer 5 месяцев назад +3

    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.

  • @felixliles9389
    @felixliles9389 3 месяца назад +1

    Well done

  • @hansregli8678
    @hansregli8678 10 месяцев назад +2

    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.

  • @MrCalletennis
    @MrCalletennis 4 месяца назад +1

    Where is the definition of the api that just randomly gets pasted out of nowhere?

  • @Furki4_4
    @Furki4_4 Год назад

    I love you freeCodeCamp, just... just wanted to say that 😊

  • @kewqie
    @kewqie 2 года назад +1

    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?

  • @keshav.mishra
    @keshav.mishra 2 года назад +1

    Pleasure that we have freecode camp xD

  • @sydguitar99
    @sydguitar99 Год назад +2

    So what program is he using when creating the project and solution?

  • @ofio
    @ofio Год назад +2

    Do yourself a favor and put playback speed back to normal @ 0.75.

  • @davidhoong3817
    @davidhoong3817 2 года назад +2

    what's your used extension for IntelliSens ecode completion? It is pretty cool! I want it.

  • @mohsinafzal3852
    @mohsinafzal3852 Год назад +1

    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

  • @ToMontrond
    @ToMontrond Год назад

    Thank you for sharing your knowledge. I have one question - why did you create a new entity (breakfast) using the PUT method?

  • @TheStringBreaker
    @TheStringBreaker 2 года назад

    *Phenomenal video!*

  • @fieryscorpion
    @fieryscorpion 2 года назад

    Amazing content. Thanks!

  • @brijeshmorya9737
    @brijeshmorya9737 2 года назад +4

    Good content

  • @ajbali
    @ajbali 2 года назад +1

    What code completion extension are you using? It is so cool!

  • @bernardoapelt
    @bernardoapelt 8 месяцев назад

    Amazing!!!, thank a lot

  • @Duelweb
    @Duelweb 2 года назад

    Great video !! Thank you!!

  • @mr.bezlimix3207
    @mr.bezlimix3207 5 месяцев назад

    bro, u best

  • @itexpert4193
    @itexpert4193 2 года назад +2

    great

  • @StratOnFire
    @StratOnFire Год назад

    Thanks so much!

  • @abdulpianist9731
    @abdulpianist9731 Год назад

    short and crisp

  • @ArmoFreekickerz
    @ArmoFreekickerz Год назад

    which terminal is he using ?
    looks really nice

  • @ramazankizilkaya771
    @ramazankizilkaya771 2 года назад +6

    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.

  • @zhangzz9563
    @zhangzz9563 2 года назад +4

    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.

  • @edjogu
    @edjogu 2 года назад +4

    Maravilloso!!!! One question, in which application did you make the Backend Service Architecture diagram? Thanks :)

  • @shoooozzzz
    @shoooozzzz 2 года назад +3

    **intellisense makes suggestion**
    Yeeees

  • @marcoitalia97
    @marcoitalia97 Год назад

    Thanks mate. 💌

  • @yoanbello6891
    @yoanbello6891 2 года назад +2

    Is this tutorial for beginners in the world of API?

    • @amantinband
      @amantinband 2 года назад

      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 🙂

    • @yoanbello6891
      @yoanbello6891 2 года назад +3

      @@amantinband i think is not si easy. Very fast pace

  • @ameykulkarni8165
    @ameykulkarni8165 Год назад +6

    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
      @HelloWorld-th9vb Год назад +1

      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

    • @ameykulkarni8165
      @ameykulkarni8165 Год назад +2

      @@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.

    • @carlogustavovalenzuelazepe5774
      @carlogustavovalenzuelazepe5774 Год назад

      @@ameykulkarni8165 you can pause the video...

  • @thatcipher
    @thatcipher Год назад

    Totally offtopic and dont know if its already asked here
    But how do you setup the terminal like that?

  • @ildefonsocastro5219
    @ildefonsocastro5219 2 года назад +2

    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?

    • @weizhao7896
      @weizhao7896 2 года назад +1

      me too, but i get an error 404...

  • @quachhengtony7651
    @quachhengtony7651 2 года назад +2

    .NET goated

  • @rdothl5
    @rdothl5 Год назад

    Couldnt you just save statusCode number to Error class along with its string representation?

  • @suzanahmedgalal4149
    @suzanahmedgalal4149 2 года назад +1

    0:50 There's 'f' missing in the header of the video

  • @kirwakelvinkering3122
    @kirwakelvinkering3122 Год назад +1

    Am trying to install dotnet SDK in ubuntu 22.04 and already am getting stuck 😂,

  • @virajkerkar
    @virajkerkar 26 дней назад

    which tool do you use to show the flow?

  • @shanthi22820
    @shanthi22820 Год назад +1

    I am getting 404 on CreateBreakfast request, please help

  • @nesa6582
    @nesa6582 11 месяцев назад

    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??????

  • @mau9175
    @mau9175 Год назад

    my vscode doesnt add namespaces automatically as yours. why is that? tried a lot of related stuff i found on internet and nothing worked =/

  • @dtnguyen75
    @dtnguyen75 6 месяцев назад

    How do you get the PowerShell commandline to show the .NET core version?

  • @XeronosKuro
    @XeronosKuro 2 года назад +1

    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?

  • @soumadip_banerjee
    @soumadip_banerjee 2 года назад +3

    ❤️

  • @KyleRebstock
    @KyleRebstock Год назад +1

    your nuget package is nowhere to be found. cool video though thanks for this post!