GraphQL API with .NET 5 and Hot Chocolate

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 พ.ย. 2024

ความคิดเห็น • 332

  • @81NARY
    @81NARY 3 ปีที่แล้ว +75

    Tip: If you add a 00:00 time code in your description, then youtube will automatically add chapters to the video.

  • @andreistelian9058
    @andreistelian9058 ปีที่แล้ว +2

    For someone who is doing this app in dotnet 7 and has errors after creating the PlatformType, you need to put the [Parent[ attribute in front of the GetCommands method from the Resolvers class.
    This is a breaking change in the framework of HotChocolate

  • @OctarineFoundry
    @OctarineFoundry 2 ปีที่แล้ว +1

    A lot of tutorials on tech topics fly over the "obvious stuff". I really appreciate that you take the time to go into the details of each step but remain concise. Great video thanks.

  • @hirisraharjo
    @hirisraharjo 3 ปีที่แล้ว +4

    Just finished reading a book yesterday about creating REST API in .Net core, and now youtube algorithm bring me to the author himself.
    conclusion: this guy is a superb teacher!

    • @robertmrobo8954
      @robertmrobo8954 3 ปีที่แล้ว

      What's the name of the book brother..?

    • @karkli1874
      @karkli1874 3 ปีที่แล้ว

      @@robertmrobo8954 It's linked in the description: The Complete ASP.NET Core 3 API Tutorial

  • @markybolton
    @markybolton 2 ปีที่แล้ว +1

    I love his tutorial! His teaching mannerism is so assuring and easy to follow. Best instructor ever!

  • @MichaelPeto
    @MichaelPeto 3 ปีที่แล้ว +3

    This has to be one of the best tutorials I have ever watched. Thanks for putting it together!

  • @AndresZumelzu
    @AndresZumelzu 3 ปีที่แล้ว +11

    Hi Les, thanks for this great course! I didn't finish it yet, I'm on my way :). I would like to mention one thing I found when running a profiler for sql server: when using ObjectTypes (for Platform and Commands) and doing the heavy lifting manually, there are three queries executed against the database (one per platform id). But if I use the default behavior, there is only one. I think that's worth noting. Thanks!!

  • @code3658
    @code3658 3 ปีที่แล้ว +6

    Nice tutorial. I learned a lot. Please create a video about authentication and authorization stuff with GraphQL.

  • @dzsukov
    @dzsukov 3 ปีที่แล้ว +21

    Amazing tutorial, thank you! What would be awesome is to include a section (or a separate video) on how to handle authorization in GraphQL (both "endpoint-wide" and also user by user/object by object). I know it's a whole different complex can of worms and lots of work, however that's the last piece of info for me to be able to "ditch" REST :) Any chance you would be up to something like that?

  • @michaelpalgon3459
    @michaelpalgon3459 2 ปีที่แล้ว

    Outstanding tutorial. Love how you hand code everything instead of magically pasting in code.

  • @sarinasalim2494
    @sarinasalim2494 2 ปีที่แล้ว +1

    One of the best tutorials I’ve seen. Coming from zero knowledge of graphql I feel at least now I understand the concepts backed by hands on examples. Thank you. Count me in as a new subscriber.

  • @Mattzard
    @Mattzard 3 ปีที่แล้ว +1

    I have just completed this video and can confirm this was such a great introduction to GraphQL, thank you so much! I agree with another commenter that another video on the advised or suggested ways to query this new API from a frontend perspective would be great too. Thanks again!

  • @oswaldumeh
    @oswaldumeh 3 ปีที่แล้ว +2

    This is the best GraphQL tutorial yet I have watched online. Very detailed with well-explained concepts. Thanks for this awesome work!

  • @geeksy2278
    @geeksy2278 3 ปีที่แล้ว

    Currently we are switching our tech stack and your videos are pure gold. Thank you very much

  • @namanvohra8262
    @namanvohra8262 2 ปีที่แล้ว +2

    There is no doubt that this is the best tutorial out there. Thank you so much Les for also taking the time to explain the things clearly. You just gained a new subscriber.

  • @fieryscorpion
    @fieryscorpion 3 ปีที่แล้ว +17

    For someone struggling with the voyager setup, this is how it worked for my version of 5.0.2:
    app.UseGraphQLVoyager(new VoyagerOptions()
    {
    GraphQLEndPoint = "/graphql",
    }, "/graphql-voyager");

    • @Mattzard
      @Mattzard 3 ปีที่แล้ว +2

      Thanks for this - the "Path" property also doesn't exist, it seems to be set as default to this:
      - localhost:5000/ui/voyager

    • @henryuta
      @henryuta 3 ปีที่แล้ว +1

      THANKS! I burned an hour on this and could not move on.

    • @naufilshaikh09
      @naufilshaikh09 3 ปีที่แล้ว

      Thanks

    • @Brickscrap
      @Brickscrap 2 ปีที่แล้ว +1

      Thank you for this!

    • @Merilix2
      @Merilix2 2 ปีที่แล้ว

      I guess the now supposed way is:
      after
      endpoints.MapGraphQL();
      insert
      endpoints.MapGraphQLVoyager("/graphql-voyager");

  • @ankurkumargoell
    @ankurkumargoell ปีที่แล้ว

    I have not seen such a detailed video on GraphQL. Trainer knowledge is very good.

  • @sharifabdullahrifatsoftwar9816
    @sharifabdullahrifatsoftwar9816 3 ปีที่แล้ว

    The Most effective Tutorial I have ever seen on GraphQL. I was thinking of buying a tutorial in Udemy. Now I think I don't need it. Thanks a lot

  • @ankurmittal9734
    @ankurmittal9734 3 ปีที่แล้ว +3

    Was missing you and your awesome way of teaching.. hope will get many more this year..

  • @martinkhachatryan3394
    @martinkhachatryan3394 ปีที่แล้ว

    Believe it or not, Mr. Jackson, you built my career, thank you.

  • @JarredJ
    @JarredJ 2 ปีที่แล้ว

    Les, Thank you so much for your informative tutorials. I did the one on API and Microservices and now GraphQL API and they are so helpful. Your teaching style is great and I have learnt a lot from you.

  • @ArtyomAvetisyan5
    @ArtyomAvetisyan5 3 ปีที่แล้ว

    Finally a guy who is happy with 2020!

  • @PlayRiteProductions
    @PlayRiteProductions 3 ปีที่แล้ว +6

    Welcome back bro! Keep up the awesome content! You're a great teacher.

  • @joaofranco6779
    @joaofranco6779 3 ปีที่แล้ว +2

    Very easy to understand, great voice, great visuals and great pace! Overall, a very good tutorial that is easy to digest and very much worthwhile going through. I only had one slight issue when I couldn't get Voyager to work, other than that every part was flawlessly explained and shown!

    • @toddnedd2138
      @toddnedd2138 3 ปีที่แล้ว +4

      if you are using package GraphQL.Server.Ui.Voyager Version="5.0.1" or higher the following should help:
      using GraphQL.Server.Ui.Voyager;
      public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
      {
      ...
      app.UseGraphQLVoyager(new VoyagerOptions(){
      GraphQLEndPoint = "/graphql"
      });
      }
      default voyager endpoint is "ui/voyager"
      cheers.

    • @rafaelskiba3854
      @rafaelskiba3854 3 ปีที่แล้ว +4

      @@toddnedd2138 This does not work for me.
      But this:
      app.UseGraphQLVoyager(new VoyagerOptions(), "/graphql-voyager");
      You can also omit the path. Then the GraphQL Voyager is accessible via its default: /ui/voyager

    • @fieryscorpion
      @fieryscorpion 3 ปีที่แล้ว +1

      @@rafaelskiba3854 I was googling the hell out of it and still unable to figure it out. Thank you so so much!

  • @rabinbyanjankar1310
    @rabinbyanjankar1310 3 ปีที่แล้ว +9

    This is really great presentation. Would be great if you could include the pagination support as well.

  • @darenbaker4569
    @darenbaker4569 3 ปีที่แล้ว +2

    I love graphql but having done work with graphql.net hot chocolate is far better and I did a demo with a legacy app and got up and running in a day I love banana cake pop as the testing and info ui. Its definitely something I will be promoting. Thank you for your videos it helps so much

  • @trpeel27
    @trpeel27 3 ปีที่แล้ว +1

    This was incredible. Thank you for such detail. This is the only example I've found that walked you through end-to-end. It was perfect!

  • @OdieFighter
    @OdieFighter 3 ปีที่แล้ว

    i'm not a dotnet developer but i was thrown headfirst into it cause of work, ur videos on it and the way u explain things really helped me a ton!
    i just wanna say thanks for making them ~!

  • @tuberklz
    @tuberklz 3 ปีที่แล้ว

    subscriptions blew my mind. and also i am very opt in to the idea of starting type-less. after agreeing on the basics with the business representatives, one can quickly provide added complexity.
    kudos man. thanks for all the effort you put on this.

  • @deepakkumar-cl6hs
    @deepakkumar-cl6hs 2 ปีที่แล้ว +1

    This is Superb Tutorial, Well presented . Les hat off to your effort and passion in teaching every bit of details in such a structure and easy format. I loved this video and have become fan of your channel.
    Keep up the good work .
    Many thanks

  • @captainmujheri
    @captainmujheri 3 ปีที่แล้ว

    oh man, You made creating API in .net core so easy by making this video

  • @lambo1707
    @lambo1707 3 ปีที่แล้ว +6

    dev from philippines, your content helps me a lot

  •  3 ปีที่แล้ว +2

    I just want to say: This is awesome!!!

  • @davewasthere
    @davewasthere 3 ปีที่แล้ว +1

    These are such high quality videos, I love it!

  • @snehgour9711
    @snehgour9711 2 ปีที่แล้ว

    Always enjoy your all tutorials !!!!!!😀

  • @rc2893
    @rc2893 3 ปีที่แล้ว +18

    I was getting errors using the ResolveWith in the two Type classes, what fixed the issue was adding the [Parent] decorator to the first argument in the two Resolvers classes.
    public Platform GetPlatform([Parent] Command command, [ScopedService] AppDbContext context) and
    public IQueryable GetCommands([Parent] Platform platform, [ScopedService] AppDbContext context)
    Hope this helps anyone doing this currently.
    This is with HotChocolate version 12.0.1

    • @mps4856
      @mps4856 3 ปีที่แล้ว

      Got the same, thanks !

    • @ANTONZUBAREV
      @ANTONZUBAREV 3 ปีที่แล้ว

      and I

    • @유광수-v1q
      @유광수-v1q 3 ปีที่แล้ว

      I spent two days, and no result. But, THANK YOU ^^

    • @sameergsr
      @sameergsr 2 ปีที่แล้ว

      Thanks! you saved a lot of my efforts. I got stuck with these errors

    • @ProgrAmadaMente
      @ProgrAmadaMente 2 ปีที่แล้ว

      Thank you so much!

  • @dallasthornton2374
    @dallasthornton2374 2 ปีที่แล้ว

    This is quality work. It's sat in my list for the last year and I finally got around to watching it since I'm starting to mess around with GraphQL and it's still pretty helpful even though I'm not using Hot Chocolate

  • @eliassal1
    @eliassal1 3 ปีที่แล้ว +1

    Great, wondeful, easy to absorb and understand topic. I love your method of training others. I think it would be great if you show at the end for 10 minutes how to call all those GraphQl services (Platform, Command) from a .Net client or an asp.net mvc web page, that would be great if you can add this part, well done and thanks for making this available for the community.

    • @KittFanNr1
      @KittFanNr1 3 ปีที่แล้ว

      Yes, that would be great. I was also thinking about the graphql response, its very dynamic - How would you deal with this in a .net application?

    • @eliassal1
      @eliassal1 3 ปีที่แล้ว +1

      @@KittFanNr1 I googled but was not able to figure it out for this code, they were all specific and not similar to what Les showed us, maybe he can help us with a 15 minutes video if he has some availability :-)

  • @2005bgva
    @2005bgva 3 ปีที่แล้ว +1

    Les it is fantastic to see you again on youtube.

  • @marcoalfaroazofeifa
    @marcoalfaroazofeifa 2 ปีที่แล้ว

    I believe I will become a fan of your presentations Les. Great work!

  • @cutthecode2784
    @cutthecode2784 3 ปีที่แล้ว

    awesome !! OMG... I watched the whole 3:45 hours continuously without getting tired

  • @SajidAliSoftwareEngineer
    @SajidAliSoftwareEngineer 2 ปีที่แล้ว

    Amazing and detailed video, I learn first-time Graphql
    Thank you so much Les Jackson. ❤️

  • @unhandledexception1948
    @unhandledexception1948 ปีที่แล้ว +1

    Les, this is indeed the best video on this library, but since HotChocolate has reached v13, and they've evolved their API.... Any chance you can make a v2 of this course . Even a paid course would be awesome as training on this is fragmented :-(

  • @abdullahquhtani4247
    @abdullahquhtani4247 3 ปีที่แล้ว

    Great except for two things:
    1- I think there should be kind of writing comments. Beginners need that to fully understand the code.
    2- I hope you could explain how to upload the project on a working website and how does that process done through VS-Code

  • @vamvdotnet
    @vamvdotnet 2 ปีที่แล้ว

    In this video, I learned a lot from you, Les. Thank you very much!

  • @АртёмАртём-ю4ы
    @АртёмАртём-ю4ы 3 ปีที่แล้ว +2

    Thank you from Russia, with love

  • @alikemalbilgili9185
    @alikemalbilgili9185 ปีที่แล้ว

    I am not tend to comment but this tutorial was Epic. There is no doubt !

  • @andrewobrian441
    @andrewobrian441 3 ปีที่แล้ว +2

    What a mad lad! Thank you so much for these great videos, learning with you is so much easier 😊 👍👍

  • @systemerror1405
    @systemerror1405 2 ปีที่แล้ว +4

    If you are having trouble with resolvers not working, you must add [Parrent] atribute to the object you are passing into function.

  • @raghavbuz
    @raghavbuz 3 ปีที่แล้ว

    Very informative and good video. I have gone through it and now will be performing the practical. One request, please upload videos/tutorials at least on monthly basis. Your explanation is simple to follow and in-depth. I really like the way you explain each and every concept. 👌👌👍👍

  • @AmazingTechwithSuhas
    @AmazingTechwithSuhas 2 ปีที่แล้ว

    Thank you for such a superb starter video. Hot Chocolate seems promising

  • @bijulal3906
    @bijulal3906 3 ปีที่แล้ว

    Hi Les, Nice presentation . Feels like a live session. Thank you.

  • @georgcordes5909
    @georgcordes5909 3 ปีที่แล้ว

    Hi Les! Love your voice, your beart, the accent and the way you're teaching us all that interesting stuff! Keep up your good work! For me it is "learning with a smile" and makes it easier then elsewhere! Greetings from Hamburg to Melbourne!

  • @orochinagi1111
    @orochinagi1111 2 ปีที่แล้ว

    thanks Les!!!!!!!!!! im subbed to your Patreon now :) next stop: microservices course! keep em comin baby

  • @dyakobaram
    @dyakobaram 3 ปีที่แล้ว +2

    nice to see you come back :)

    • @binarythistle
      @binarythistle  3 ปีที่แล้ว +1

      Great to be back finally! (Taken a while...)

  • @vladyslav.papirnyi
    @vladyslav.papirnyi 3 ปีที่แล้ว

    Good tutorial for GraphQL novices. Thank you

  • @HaoNguyen-km9xj
    @HaoNguyen-km9xj 3 ปีที่แล้ว +1

    Make more and more video about API and GraphQL please... It's very useful,... very useful....

  • @sefakpsz
    @sefakpsz 10 หลายเดือนก่อน

    I have not experience as much as you have as software developer but I have suggestion for you, title of the video is GraphQL API with .NET that's why if someone come here they need to know .NET and the rest that's why you don't need to dive into detail of every single component of the journey of the project. and you can make video for them seperately and you can add them in this video's cards section.

  • @josegomera9066
    @josegomera9066 3 ปีที่แล้ว

    One of the best resources I came across about GraphQL and Hotchocolate. Any change to see in the future Intermediate or advanced topics of HotChocolate and .NET 5?

  • @v0fbu1vm
    @v0fbu1vm 3 ปีที่แล้ว

    I really loved the content here. It was easy to understand and just straight forward. Could you please, go into how to secure a GraphQL Api. I have tried a lot of ways but just cannot get my head around it. Sincerely.

  • @Etheregod
    @Etheregod 3 ปีที่แล้ว

    I love your tutorials. Thank you for sharing this quality videos for free here. Actually you are helping me a lot with my APIs and I am falling in love with the backend part of programming!

  • @panirajn
    @panirajn 3 ปีที่แล้ว

    Thanks a lot for the teaching in simplest way!

  • @RomanSuska
    @RomanSuska 3 ปีที่แล้ว

    Good timing, was just looking for some materials to learn graphql. I will definitely take your course. Good to see you again :)

  • @wilfredoguardado2712
    @wilfredoguardado2712 3 ปีที่แล้ว

    Thanks for taking your time to make up learning in a easy way!
    Definitely I recommend this video!

  • @martinnjoroge9789
    @martinnjoroge9789 3 ปีที่แล้ว +1

    Thanks for the tutorial. Watched and implemented to the end. Everything worked fine. Thanks once again @Les Jackson

  • @dyakobaram
    @dyakobaram 3 ปีที่แล้ว +4

    do you have any plan on using dapper on your next project?

  • @08Thikka
    @08Thikka 3 ปีที่แล้ว

    Great video on the topic , please add how to implement paging with relay support as it is important for real world use cases. Greatly appreciated.

  • @saikatray5792
    @saikatray5792 3 ปีที่แล้ว

    It is very hard to find tutorials that strikes the perfect balance between concepts and hands on and this tutorial does exactly that. Also i was determined to try out Postman throughout the session but seeing how Insomnia tool supports GraphQL, i do not see myself using postman for graphql executions. Thanks @LesJackson

  • @HaoNguyen-km9xj
    @HaoNguyen-km9xj 3 ปีที่แล้ว

    I think I need to learn more theory about database such as schema, projection,... after watch this video,... Know only SQL query language is not enough,... awesome video,... Thank you so much,...

  • @zulhishamtan4308
    @zulhishamtan4308 3 ปีที่แล้ว

    Thank you Les, this is awesome, your step by step tutorial is really precise as you type while you going along. I have learned a lot and I like GraphQL.

  • @karinn7163
    @karinn7163 2 ปีที่แล้ว +1

    Amazing tutorial, very clear, thank you

  • @homeofcreation
    @homeofcreation 2 ปีที่แล้ว

    Excellent video had to google a breaking change in the HotChocolate 12 update in the Platform and CommandsTypes code, but this is a minor issue. I have implemented Dataloaders which I definitely recommend. Great Job! Thanks!!

  • @ifanzalukhu97
    @ifanzalukhu97 3 ปีที่แล้ว

    Thanks Les Jackson for awesome tutorial.

  • @thespicycoder5583
    @thespicycoder5583 3 ปีที่แล้ว

    Excellent tutorial. Very clear on every setp & easy to follow along.
    Can we please expect a video on integration testing GraphQL?
    With Web API, it is easy to perform in-memory API testing
    Any such option works with GraphQL?

  • @raj8844
    @raj8844 3 ปีที่แล้ว +3

    Great to hear your voice 🙂🙂

    • @binarythistle
      @binarythistle  3 ปีที่แล้ว +1

      Thanks Rajesh - great to be back!

    • @martinnjoroge9789
      @martinnjoroge9789 3 ปีที่แล้ว +1

      Hi @@binarythistle. I noticed that GraphQL.Server.Ui.Voyager version 5.0.2 does not have option of new GraphQLVoyagerOptions() in the Configure method in Startup.cs. I had to use the version you;re using

  • @bhuvaneshnarayanasamy3153
    @bhuvaneshnarayanasamy3153 3 ปีที่แล้ว

    Fantastic production and awesome tutorial, I followed along and created the same, very much apricated for your efforts.

  • @volodymyryavtukhov2809
    @volodymyryavtukhov2809 3 ปีที่แล้ว +3

    Hey Les, thanks for the great presentation. ODATA protocol seems to solve both under-fed and over-fed problems. In addition it allows you to add filters and/or range conditions. What's the benefit of using GraphQL, reinventing the query language once again. Thanks

    • @JeetKhinde
      @JeetKhinde 3 ปีที่แล้ว +2

      Google "why odata is not popular", you will get your answers.

  • @BalooCSGO69
    @BalooCSGO69 3 ปีที่แล้ว

    Im in the middle of the video atm and I just stopped to say you are fucking legend bro.

  • @orochinagi1111
    @orochinagi1111 2 ปีที่แล้ว

    great song at the end too :) perfect sized course

  • @nestormatias217
    @nestormatias217 3 ปีที่แล้ว

    Thank you Les it was an awesome to start on GraphQL i learned a lot very greatfull with your videos they are large but they worth it

  • @amitsamanta8440
    @amitsamanta8440 3 ปีที่แล้ว

    Nice Presentation. One correction, I would like to add one point hare, the GraphQL.Server.Ui.Voyager.VoyagerOptions seems have a changed syntax in latest version as follows
    app.UseGraphQLVoyager(new VoyagerOptions()
    {
    GraphQLEndPoint = "/graphql",
    }, "/graphql-voyager");

  • @raouftoumi6669
    @raouftoumi6669 3 ปีที่แล้ว

    Offf, Finally a new video on my favorite channel👏🤩

  • @tisurmaster
    @tisurmaster 3 ปีที่แล้ว +7

    could you use ODATA and keep HTTP API instead of using graphQL?

  • @tyn3561
    @tyn3561 3 ปีที่แล้ว

    Great tutorial mate! I am going to buy your Webhooks tutorial. Thanks a lot!

  • @igorristic5446
    @igorristic5446 3 ปีที่แล้ว

    Great tutorial Les, very informative. My only recommendation is to include examples when polling for a single entity as there is a couple ways to handle that as I discovered.

  • @BrunSwick33
    @BrunSwick33 3 ปีที่แล้ว

    Excellent course/video. It also came at a great time since we are looking to implement graph with our .net 5 APIs. We will be looking to combine rest and graph but this will help a ton.

  • @chamir4614
    @chamir4614 3 ปีที่แล้ว +5

    Hi, is there a way to add authentication and authorization to this project?

  • @arunnaveenkumar
    @arunnaveenkumar 3 ปีที่แล้ว +1

    Thanks for Tutorial. Love way of your teaching 👍

  • @peculiarpeculiar2504
    @peculiarpeculiar2504 2 ปีที่แล้ว

    Intro always epic.

  • @argeelearner3978
    @argeelearner3978 3 ปีที่แล้ว

    Great to see you back

  • @naufilshaikh09
    @naufilshaikh09 3 ปีที่แล้ว

    Woaah, amazing video. learned lots of new things. Thanks Les.

  • @KhanhNguyen-pq6kn
    @KhanhNguyen-pq6kn 3 ปีที่แล้ว

    Many thanks for really helpful and detailed education content... took a lot from this tutorial and git repo

  • @ehl-12
    @ehl-12 3 ปีที่แล้ว +1

    Just started your Udemy course. Love it!

  •  3 ปีที่แล้ว

    This is a great one! Thanks, Les.

  • @vitaliik8315
    @vitaliik8315 3 ปีที่แล้ว

    I used hot chocolate - it's awesome! Thanks for video!

  • @RickTheClipper
    @RickTheClipper 3 ปีที่แล้ว +3

    A very clear and understandable tutorial could be improved by setting chapters in the video or split into pieces of about 45 minutes. This would make it far easier to find a position for recapitulation, but all in all thumbs up

  • @neilgilroy1629
    @neilgilroy1629 2 ปีที่แล้ว

    Thanks so much for this great video. Merry Christmas!

  • @bujin1977
    @bujin1977 3 ปีที่แล้ว +11

    Oof! I'm interested in GraphQL and may look at implementing it into one of my future projects. Might have to digest this video in chunks though! :D

    • @bujin1977
      @bujin1977 3 ปีที่แล้ว +2

      Finally got through it. Very interesting, and very well explained.

  • @programmingskills3404
    @programmingskills3404 3 ปีที่แล้ว

    you teach very well man

  • @dembasiby
    @dembasiby 3 ปีที่แล้ว

    Waiting this evening to watch the video, but Les, thank you, and Keep up the good work.