Creating a JSON CRUD API in Go (Gin/GORM)

Поділитися
Вставка
  • Опубліковано 8 лип 2022
  • In this video we'll create a basic JSON CRUD API in Go lang using the popular framework Gin and the top ORM GORM. This is a great beginner tutorial if you're just starting out with Go and will introduce you to some popular libraries.
    Make sure to like and subscribe!
  • Наука та технологія

КОМЕНТАРІ • 136

  • @japanboy31415
    @japanboy31415 Рік тому +34

    the reason that i like this tutorial the most is because he actually shows where the code is coming from within the documentation. these other ones, i feel like theyre just pulling it out of their asses and it is so confusing. thank you so much !

  • @kannankalidasan
    @kannankalidasan Рік тому +5

    Just 1 video watched . become a channel member, subscribed, pressed bell button 😃 , Got a real confidence in building my first go project by going through this.👏👏👏

  • @therealchiko
    @therealchiko Рік тому +7

    Awesome tutorial, concise and straight to the point!

  • @md.mahadyhasan8456
    @md.mahadyhasan8456 Рік тому +33

    Awesome!! No bullshit, straight to the point. You teach in 10 mins what others teach in 30-40 mins. Great job!

  • @eoinholland5647
    @eoinholland5647 Рік тому +3

    The most concise and clear tutorial on this topic! Thank You, I'm subbed now :D

  • @Laflamablanca969
    @Laflamablanca969 Рік тому +22

    Bro… great tutorial. Clear, concise and no BS 🎉 I’ve just subbed 👏

  • @nnguyetnam
    @nnguyetnam Рік тому

    Great thanks!!!! You have opened my mind on how golang server can be built up in such a few concise steps.

  • @htetlinlinnaing4994
    @htetlinlinnaing4994 2 роки тому +1

    This is the amazing video I have ever seen! Thank you and hope to upload more video about Golang.

  • @filiperodrigues6969
    @filiperodrigues6969 19 днів тому

    I would like to like this video way way way more times than just one, this is amazing, great job, the quality is off the charts

  • @darumaleo
    @darumaleo 4 місяці тому

    damn man, i love this kind of videos! very concise, no wasting time, going straight to the point! very helpful

  • @ivancazzamali4508
    @ivancazzamali4508 Рік тому +4

    supernice! I really like that you keep the loop "say what you'll implement" --> "code" --> "check result" very short. it makes it very easy to follow and see what does what. immediately subscribed

  • @embrace7972
    @embrace7972 9 місяців тому

    Amazing stuff man, really appreciate the content. I am new to golang, and the way you used the docs, I have learnt a lot.

  • @sondernfy
    @sondernfy Рік тому

    Awesome! I'm just starting out, and this is pointing me the right way

  • @JoseBarahonajrab66
    @JoseBarahonajrab66 8 місяців тому

    Just starting on go , this tutorial was amazing 🤙🏻

  • @christopherrobin5796
    @christopherrobin5796 4 місяці тому +1

    beautiful tutorial, decent explanation, 10/10

  • @JDUDEadventure
    @JDUDEadventure 2 місяці тому

    Thank you so much for posting this video. It really helped in teaching GO.

  • @alfbaez
    @alfbaez Рік тому

    Brilliant! simply put Brilliant! Thanks for knowledge sharing!

  • @JhonatanMorais
    @JhonatanMorais Рік тому

    Fantastic! you did great! thank you so much for share it!

  • @simonjanca
    @simonjanca Рік тому

    That's a great video I was looking around. Thanks :)

  • @mounis
    @mounis Рік тому

    Amazing video, thanks for sharing!

  • @yishstudio8393
    @yishstudio8393 Рік тому

    it's really helpful for me to understanding CURD with go and packages.

  • @omartahboub2900
    @omartahboub2900 10 місяців тому

    Great Tutorial ! String to the point !

  • @zahreddinesoualem3213
    @zahreddinesoualem3213 Рік тому

    Very clear, neat tuto, thanks.

  • @Surya001x
    @Surya001x 3 місяці тому

    Best video, I was looking for this perfect videos. Thanks alot

  • @alfathmuqoddas6986
    @alfathmuqoddas6986 Рік тому

    Thank you very much! very concise and easy to follow

  • @yoskokleng3658
    @yoskokleng3658 4 місяці тому

    i am from laravel dev. this structure is similar to laravel. Great Video. i will follow this. Thank you

  • @XORknight
    @XORknight 10 місяців тому

    Best Golang API tutorial

  • @3damina911
    @3damina911 Рік тому

    Thanks! really easy and simple methods to CRUD in Go..

  • @youtobe00009
    @youtobe00009 Рік тому

    Nice and straight tutorial. thank you

  • @nicholasmaundu2130
    @nicholasmaundu2130 Рік тому

    new subscriber, awesome content and document reference on point.

  • @feynmaz
    @feynmaz Рік тому

    Thank You for such a great tutorial

  • @ahmadfadhlirachmat5673
    @ahmadfadhlirachmat5673 6 місяців тому

    Very compact tutorial, straight to the solution. Subs +1

  • @guccigreatness4925
    @guccigreatness4925 4 місяці тому

    Awesome tutorial & thank you bro 😊

  • @acronproject
    @acronproject 5 місяців тому

    Thanks so much Mr.Robby. That very useful for me

  • @bronxed3666
    @bronxed3666 Рік тому +1

    Fantastic Video. thank you, subbed

  • @iqro199
    @iqro199 2 місяці тому

    you are the best teacher bro)

  • @matinrazaghi3218
    @matinrazaghi3218 Рік тому

    Thank you for the great toturial

  • @HenkeB515
    @HenkeB515 4 місяці тому

    Great tutorial, thank you!

  • @yaodenis2682
    @yaodenis2682 Рік тому

    Great Tutorial !!!👏

  • @morkhoudia9
    @morkhoudia9 2 роки тому

    With these tutorials on go, i have skills on. Thanks you Robby.

    • @belski256
      @belski256 Рік тому

      Where are You..I am in the +256

    • @morkhoudia9
      @morkhoudia9 Рік тому

      I am from Senegal, Africa

  • @ianvieira283
    @ianvieira283 Рік тому

    That was great!

  • @nadeemshareef7508
    @nadeemshareef7508 4 місяці тому

    Awesome Brother!

  • @vitojulianochannel
    @vitojulianochannel Рік тому

    Thanks for the tutorial 👑 If you make the unit test for this, it will be more perfect 😁

  • @NikhilKumar-sv2kb
    @NikhilKumar-sv2kb 2 місяці тому

    Thank you very much!!! very helpful

  • @narcissisticnarcissus4956
    @narcissisticnarcissus4956 3 місяці тому +1

    Amazing!

  • @jokerboozp
    @jokerboozp Рік тому

    Just awesome!!!!!!!Thank u!!!

  • @falxcodeinc2072
    @falxcodeinc2072 Рік тому

    Good stuff !!!

  • @peterdaayeng7155
    @peterdaayeng7155 8 місяців тому

    Great , Just suscribed

  • @alessandroscimone5463
    @alessandroscimone5463 2 роки тому +1

    Good video! Thanks

  • @wisdomelue
    @wisdomelue 8 місяців тому

    loved it, thanks

  • @libertad83y
    @libertad83y Рік тому +6

    Jeez! You deserve 100x more subscribers, great teaching! 🥳 One question: "what is the advantage of tableplus compared to the integrated browser of ElephantSQL?"

    • @brandonjapol9853
      @brandonjapol9853 Рік тому

      and then he opens postman not three minutes later lol

  • @abhishekrajput4656
    @abhishekrajput4656 Рік тому

    Thanks this helped me alot

  • @galangsatria7210
    @galangsatria7210 Рік тому

    Nice Tutorials

  • @csnawwa
    @csnawwa 6 місяців тому

    thanks Robby you are awesome

  • @mrginn
    @mrginn 5 місяців тому

    thanks for the tutorial.

  • @moeenkamali1288
    @moeenkamali1288 Рік тому

    nice work

  • @japanboy31415
    @japanboy31415 Рік тому +1

    out of all the crud videos on golang that i have watched, this is the best one. Is this an accurate representation of how to actually create a golang, or are we not getting introduced something ? i watched akhils tutorial and it was so complicated that i was so lost, but this one seems to do all of the CRUD endpoints and was wondering if I can use this as a reference ?

  • @johnxisde
    @johnxisde Рік тому +1

    Thanks for this tutorial, Robby! any idea about how effective delete data from db instead update that flag, deleted at?

  • @Ennem0_o
    @Ennem0_o 5 місяців тому

    Thanks for the video.
    How would you add automatic Swagger/OpenAPI doc generation on this project ?

  • @manee427
    @manee427 2 роки тому

    Perfect

  • @InstallSkill
    @InstallSkill 4 місяці тому

    Too good

  • @SMELLNES
    @SMELLNES Рік тому

    clean

  • @nerochaniago81
    @nerochaniago81 Рік тому

    cool!

  • @japanboy31415
    @japanboy31415 Рік тому

    @14:39 why do we need to do func init(){} when we are importing initializers and models at the top with import()

  • @morkhoudia9
    @morkhoudia9 2 роки тому +1

    Good & marvellous. Is it githubable ?

  • @caleyCodeLab
    @caleyCodeLab 3 місяці тому

    Do you need to install CompileDaemon globally to use it? I'd like to manage it in a similar way to npm scripts

  • @wisdomelue
    @wisdomelue 8 місяців тому

    any reason why we had to do go get and go install for compile daemon

  • @lemmyz1
    @lemmyz1 Рік тому

    Any suggestions to replicate this using mongo db?

  • @DioArsya
    @DioArsya Рік тому

    Nicee

  • @asntechies8017
    @asntechies8017 6 днів тому

    Bro why did you stopped making golang videos. Can you make one for bulk insert/crud api with gin/postgres with jwt auth. Thanks in advance and keep up the good work 👍

  • @ajith_e
    @ajith_e 8 місяців тому

    Thank you!
    btw. you sound like Rami Malek

  • @UnboxLabOfficial
    @UnboxLabOfficial 10 місяців тому

    Nice

  • @shehapeldien7025
    @shehapeldien7025 8 місяців тому

    every thing works in first try

  • @MaheshKumar-bg5re
    @MaheshKumar-bg5re Рік тому

    why cant we use the env variables in costants?

  • @SaurabhSharmaIndia
    @SaurabhSharmaIndia Рік тому

    Nice tutorial!!
    Can we return the response in camel case including created at and updated at?

    • @codingwithrobby
      @codingwithrobby  Рік тому +1

      Yes you can, try replacing the gorm.Model line with:
      ID uint `gorm:"primary_key" json:"id"`
      CreatedAt time.Time `json:"createdAt"`
      UpdatedAt time.Time `json:"updatedAt"`
      DeletedAt *time.Time `json:"deletedAt"`

  • @shaheer1948
    @shaheer1948 Рік тому

    Hello, Did you post the code anywhere!! Please !! I need the Code which you've Executed.

  • @drefaux6669
    @drefaux6669 Рік тому

    great tutorial but you should also catch errors in this vid too

  • @cub379
    @cub379 2 роки тому +1

    What version of go are you running here?
    I can't get the CompileDaemon to work.
    edit: If anybody else encounters with the same issue, fix on my end was that i forgot to add the gon/bin/ folder to my PATH

    • @codingwithrobby
      @codingwithrobby  2 роки тому +1

      I'm running 1.18.3. Here's an alternative I've used if you can't get it going: github.com/codegangsta/gin

    • @libertad83y
      @libertad83y Рік тому

      same issue with CompileDaemon, I just copied it in my project folder

    • @cub379
      @cub379 Рік тому

      @@libertad83y i am pretty sure you have to place compile deamon in golang install folder and then bin, i can check when i come home from work remind mi if i forget hah

    • @TudorCizmas
      @TudorCizmas Рік тому

      Did you update your $PATH?

    • @cub379
      @cub379 Рік тому

      @@TudorCizmas yea, I have /home/leon/go/bin in my path

  • @dharamraj6646
    @dharamraj6646 Рік тому

    @coding with roby where can i get this code ..?

  • @moeenkamali1288
    @moeenkamali1288 Рік тому

    it would be great if share source on github or somewhere else

  • @luthfiarsyad358
    @luthfiarsyad358 Рік тому +1

    Hello Robby, it was a great tutorial step by step but i encounter an error when go run migrate/migrate.go saying invalid memory address or nil pointer dereference.. please help on telling me what to do :( thank you!

    • @codingwithrobby
      @codingwithrobby  Рік тому +1

      Hey there, sounds like the models didn't import correctly or you made a typo somewhere. I'd go through and double check everything matches mine in the video.

    • @luthfiarsyad358
      @luthfiarsyad358 Рік тому +1

      @@codingwithrobby LOL IT IS, i was writing a typo, i shouldve not declarating var on migrate, i should use = instead of := 😁😁 my mistake man, thank youu for helping 🤣🤣

    • @emirhansoylu
      @emirhansoylu Рік тому

      I've got same error too. Idk why it throw error but i solve it by adding the assignment.
      var DB *gorm.DB
      func ConnectToDB() {
      ...
      db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})
      DB = db
      ...
      }

  • @FoXSnoW1
    @FoXSnoW1 Рік тому +3

    where is repo.

  • @MrAmG17
    @MrAmG17 Рік тому

    What about error handling?

  • @shubhamrane9389
    @shubhamrane9389 Місяць тому +1

    I am having issue after running migrate file. initializers.DB is coming out as nil. But in ConnectToDB I can establish connection DB. Is there some other platform to address issues like this?

    • @dualitysolify
      @dualitysolify 2 дні тому

      the same for me on 1.22. There is an issue with having DB globally. So golang complains about having DB variable assigned to value but used inside connection func. Now Im trying to return DB var from this functions so I could catch it and define any time I need DB from initializers. Looks like shit, if to be honest

    • @dualitysolify
      @dualitysolify 2 дні тому

      uh, I have fixed my problem. It seems like it is `DB, err :=` instead of `DB, err =`. So in my case it was a problem of a dynamic type defintion

  • @red_boum
    @red_boum 11 місяців тому

    Is there a Github for the final code?

  • @snoopy8870
    @snoopy8870 6 місяців тому

    whats the music at the beginning?

  • @user-ro9ty1qk6r
    @user-ro9ty1qk6r 4 місяці тому

    getting the error "command not found: CompileDaemon" even after installing the CompileDaemon using go get command in the project folder.

    • @codingwithrobby
      @codingwithrobby  4 місяці тому

      You have to add your go bin folder to path then run go install not go get on the package

  • @nandhawalrost
    @nandhawalrost 6 місяців тому

    thank you, good karma

  • @chrishabgood8900
    @chrishabgood8900 Рік тому +1

    hmm, initializers/Postgres.go:16:2: DB declared but not used

    • @codingwithrobby
      @codingwithrobby  Рік тому +5

      DB should be used within the ConnectToDatabase function. Double check your code matches mine. You probably have := instead of just = . Hope this helps!

    • @muhammadfauzanalghifari7776
      @muhammadfauzanalghifari7776 Рік тому

      @@codingwithrobby I have the same problem and this solved my problem, thank u!! i am new to golang did not notice this at the first place, btw this vid really helps! thank u once again

  • @faizulla5838
    @faizulla5838 9 місяців тому

    How do it without Gorm ?

  • @tgraupne
    @tgraupne Рік тому

    Hi @Coding with Robby , great video, than you very much. Do you have a Github profile or any other way you could share your code?

    • @codingwithrobby
      @codingwithrobby  Рік тому +1

      Thanks for watching! To be honest I didn't save any of the code from this video. In future videos I'll try to provide GitHub links.

  • @thefulltutorial4278
    @thefulltutorial4278 10 місяців тому

    Why you used package main here instead of package migrate 14:02

  • @MrCleverOnion
    @MrCleverOnion 5 місяців тому

    My only complaint is that there's no links. It's so much easier to just read the code

  • @leodegrinchi6878
    @leodegrinchi6878 11 місяців тому

    17:22 создали))) 😄

  • @simonjanca
    @simonjanca Рік тому

    What's the request making tool you use to test the API?

  • @it1860
    @it1860 Рік тому

    em
    where github / gitlab url of code ?

  • @tnnz9920
    @tnnz9920 Рік тому

    can i do without daemon compiler?

    • @codingwithrobby
      @codingwithrobby  Рік тому

      Yes, you’ll just have to manually restart when you make changes.

  • @MaheshKumar-bg5re
    @MaheshKumar-bg5re Рік тому

    is postgresql better than mysql?

    • @codingwithrobby
      @codingwithrobby  Рік тому

      I think it’s mostly personal preference. I just started using Postgres because Heroku supports it.

  • @kratos-n3h
    @kratos-n3h Місяць тому

    frnds is this packege is realiable

  • @jewlouds
    @jewlouds 6 місяців тому +1

    Is that Wubuntu?