Uploading an Image | Creating a REST API with Node.js

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

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

  • @tonyvillegas4526
    @tonyvillegas4526 4 ปีที่แล้ว +95

    that feeling when you find a video for your problem and it has good English, quality and good explanation gosh!! You guys keep saving the day

    • @mr-moses-01
      @mr-moses-01 3 ปีที่แล้ว

      You say good English,I say american accent. :D

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

      @@mr-moses-01 I LOVE AMERICAN ACCENT SO MUCH XD

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

    Hey guys , I need to add in 11:37 min
    const storage = multer.diskStorage({
    destination: function(req, file, cb) {
    cb(null, 'uploads/')
    },
    filename: function(req, file, cb) {
    cb(null, new Date().toISOString().slice(0,10) + file.originalname);
    }
    });
    Couse have error with saving files to drive. Windows 10.
    Great Tutarial again!

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

      Actualy it's better to use .replace(/:/g, "-") than slice() like @Cody Uhi above

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

    I love your way of teaching. You don't just dispense information, you trigger curiosity and fulfill it with the knowledge that you provide. You're an excellent teacher Max. I wish all teachers were like you.

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

      Thanks again for your absolutely amazing feedback Amar, it honestly means a lot to me to read that!

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

    Even so many years later, I found this super helpful. Thank you!

  • @aliazlanaziz
    @aliazlanaziz 4 ปีที่แล้ว +35

    watching it in 2020 after approx. 3 years of being uploaded, still very helpful

    • @Kngdmio
      @Kngdmio 4 ปีที่แล้ว

      YES!

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

      I'm watching this January 2021 and the way he codes is still pretty accurate nowadays... it's truly amazing.

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

      May 2021 and still works

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

      June 2021 and it's the best

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

      jully 2021 still benefited

  • @SachinSharma-kk6kn
    @SachinSharma-kk6kn 6 ปีที่แล้ว +420

    use this = > cb(null, Date.now() + file.originalname); instead of cb(null, new Date().toISOString() + file.originalname); to prevent
    "error": "ENOENT: no such file or directory

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

      Thank you for that!

    • @Sledno1
      @Sledno1 6 ปีที่แล้ว +4

      Thank you, I had the same error. Why does this happen by the way?

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

      thank you , i have a same error

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

      Hero

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

      thanks

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

    I searched for like 4 hours straight, for the life of me, I did not know why it wasn't working, thank you thank you a million times

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

    I have been looking all over the net for this exact solution which is very basic but found nowhere and here you explained it so nicely. Thanks a lot 😊

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

    best node teacher. way better than competitors

  • @HazzR8
    @HazzR8 5 ปีที่แล้ว +41

    Windows users: Use this multer setting to avoid ENOENT: no such file or directory:
    const storage = multer.diskStorage({
    destination: function(req, file, cb) {
    cb(null, './uploads/');
    },
    filename: function(req, file, cb) {
    const now = new Date().toISOString(); const date = now.replace(/:/g, '-'); cb(null, date + file.originalname);
    }
    });
    It replaces colons" : " with dashes.

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

    A solid effort with much useful material. Uploading files and retrieving them is very important and common thing. Thank you, Max.

    • @academind
      @academind  6 ปีที่แล้ว

      It really makes me happy to read that you liked the video Mika, thank you for your comment and for your support!

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

    This is an amazing video,
    It has just solved my challenge for about 2 days now.
    Welldone man

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

    even it is old video there still something you can learn from it..I love you so much max

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

    This is the best IT tutorial I've seen up to date. Material is alligned with best practices taken from real life experience. You guys rock!

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

    You have always been supper! Where have you come for us!? Great rescuer! Thank you

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

    Absolutely loved watching this video - the explanation was spot on and concise. I watch tons of videos on a daily basis and it's very rare I come across something like this with such high quality. Great job and thank you!

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

    for windows users with the issue of uploading images with multer, you will have to insert a replace method as follows:
    filename: function (req, file, cb) {
    cb(null, new Date().toISOString().replace(/:/g, '-') + file.originalname)
    }
    it's the colon posing an issue for windows users.

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

    Thanks Max for the beautiful narration of file upload using NODE.js. Standing ovation for you!. you are really great.

    • @academind
      @academind  7 ปีที่แล้ว

      YOU are great Saravana, thank you very much for your amazing feedback!

  •  4 ปีที่แล้ว +1

    Thanks a lot Max for this tutorial. I was stuck but after sit here and trying to figure out how everything works and, of course, along with your excellent explanation I finally got it. I confess I took around 2 days because I divided the controllers, middlewares, routes in their properly places and also uploaded objects with image, description and title to MongoDB but without you it could take even longer.
    Again, thanks a ton. You are my hero, bro! :)

  • @webmats5479
    @webmats5479 6 ปีที่แล้ว

    If anyone is wondering how to delete the image from the server after deleting the product from DB; in the delete route, add the following: const fs = require('fs');
    ...............................................................
    Product.findByIdAndRemove({_id: id}, {select: 'productImage'}).then(feedback => {
    fs.unlinkSync(feedback.productImage);
    res.status(202).json({feedback, message: `Product with id ${id} was deleted!` });
    })
    BTW, Max, impeccable series. Thank you for everything that you do.

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

    Thanks for the last part part and helping me understand how the image path works 🤩

  • @manel6666
    @manel6666 5 ปีที่แล้ว +4

    for those who have windows, you can use this (new Date().toISOString().replace(/:/g, "-") + "_" + file.originalname) instead of (Date().toISOString() + file.originalname)

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

      thanks manel!
      it helped!

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

      Thanks a lot manel!!!!!

  • @maazdev9000
    @maazdev9000 4 หลายเดือนก่อน

    Superb Tutorial, Such knowledge of File Uploading, File Size Limiting, File Type Uploading confined into a 20 minuites video, bravo Academind Team, Really Great

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

    This is absolutely amazing, the only thing that has more info than this is the complete NodeJS course...

  • @demyanzavgorodny2003
    @demyanzavgorodny2003 6 ปีที่แล้ว +15

    I think it would be good idea to refactor a bit by moving all that code to middleware/upload.js
    Then you can use this middleware for different routes in future
    And thank you so much for great tutorials)

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

      i tried doing this but was having issues, can you paste how you did it

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

    love u max .
    i've been struggling to get this for a while.
    you saved me and my friends who were relied on me to complete my collage project

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

    I have been trying this for more than a day and you solved my problems. I love you sooo much

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

    I'm watching this tutorial in 2021 after approx. 4 years of being uploaded, still very helpful) Thank you!

  • @qqike
    @qqike 2 หลายเดือนก่อน

    Thanks for the video! Even if some functions don't work (the course is 6 y.o.), it's possible to handle all problems (I like this approach more: you can learn more by yourself)

  • @devlargs5458
    @devlargs5458 5 ปีที่แล้ว

    Thank you so much, Max! Since I am a beginner till now, watching your videos helps me a lot.

    • @academind
      @academind  5 ปีที่แล้ว

      That's really great to read, thank you for your comment!

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

    This series is so awesome. You keep mentioning phrases or things I don't know about like "formData" for example. Then I stop, look it up, educate myself about it and then continue with the video. I feel like I'm getting a very comprehensive lesson this way. I could have just smashed through these videos but by doing it this way It's taken me 3 days to get to this point!

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

      Happy to read that Maximilian, thank you for your awesome feedback!

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

    Max is always precise and great.

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

    Exquisite content even in 2023

  • @ericksonteixeira1197
    @ericksonteixeira1197 6 ปีที่แล้ว

    It was the most explainable video about multer that I've seen eeeever

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

      Really happy to read that Erickson, thank you very much for your comment!

    • @ericksonteixeira1197
      @ericksonteixeira1197 6 ปีที่แล้ว

      I totally support you If you make some classes with node + sql. And tools like graphql and redis. Or maybe make courses at Udemy. I'm waiting hahaha.

  • @brilliantphal6646
    @brilliantphal6646 6 ปีที่แล้ว

    The only way to save my GraphQL project with image upload. You saved my life. Thanks.

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

    Merry Christmas, Max. Don't forget about resting and thank you for all you are doing for Us.

    • @academind
      @academind  7 ปีที่แล้ว

      I'll take a break, no worries - many thanks for your awesome feedback! :)

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

    I was stuck on this for the past 12hours, thanks a lot sir! great explanation!

  • @janihanninen1805
    @janihanninen1805 6 ปีที่แล้ว

    Thanks Max this is a great. There are many courses that teach how to use node with mongoose but none of them seem to show how to actually upload images. This is great! If you ever decide to make a fullstack react&node course i will buy it.

    • @academind
      @academind  6 ปีที่แล้ว

      Thanks a lot for sharing this great feedback Jani, this really means a lot to me! I got not concrete plans to create such a course in the near future but we'll see what the future brings :)

  • @emmanuelteye3723
    @emmanuelteye3723 4 ปีที่แล้ว

    you are my best programming youtuber

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

    One Of The Best Tutorials I have ever seen in youtube you are awesome Max :)

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

    Great video! You demystified some things for me!

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

    For windows usres : if you see the path when post a new product like this:
    uploads\\yourUploadedFileName.ext ,
    just add: req.file.path.replace(/\\/g, "/") instead of req.file.path in POST request then it will convert for valid url
    cheers

  • @JosepCastellsera
    @JosepCastellsera 6 ปีที่แล้ว +11

    just minor improvement @ 15:40 :
    { storage }
    would be equal to assign it like
    {storage: storage}

    • @reddevil4169
      @reddevil4169 6 ปีที่แล้ว +8

      he did it so that other people won't get confused -.-

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

    Best tutorial on multer

  • @anshudixit3241
    @anshudixit3241 7 ปีที่แล้ว

    hii max, thanku so much for a superb explanation of multer, i am no where found it like this and you make it very simpler

    • @academind
      @academind  7 ปีที่แล้ว

      Thank YOU Anshu for sharing this, always makes me happy to read when a video was helpful!

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

    Can you please do a video on where is best to store media files. Maybe compare MonDB, AWS, etc.

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

    i was struggling with this. thank you so much

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

    This is the method I was looking for Thanks

  • @the_pippi
    @the_pippi 6 ปีที่แล้ว

    Thanks, Max!!! I'm brazilian and I learned a lot with yours videos!

    • @academind
      @academind  6 ปีที่แล้ว

      So awesome to read that Patric, thank you for your comment! Greetings from Germany :)

  • @Andrey-il8rh
    @Andrey-il8rh 7 ปีที่แล้ว

    This part was absolutely golden! Thank you, Max

    • @academind
      @academind  7 ปีที่แล้ว

      Thanks so much Andrey, so great to read that!

  • @ImranKhan-ft7ns
    @ImranKhan-ft7ns 2 ปีที่แล้ว

    Can't thank you enough for uploading this video.. This is very helpful

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

    Great course, great teaching skills! simply wonderful

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

    Thank you Max. You saved my hours. I am gonna buy all your fullstack courses on Udemy.

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

    Hello! it only work with post man. I wabt to know how to bind with my frontEnd React app?

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

    great tutorials mate !!!!!! nice and smart coding style. KEEP IT UP MATE!!!
    just a simple mistake --> filefilter callbackb(null, true) // accepts, not rejects a file

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

    This is the most helpful video. Thank you.

  • @juanmanuelgentili2152
    @juanmanuelgentili2152 6 ปีที่แล้ว

    You're a genius. I have no words to thank you.

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

      Wow, thank you very very much for your amazing feedback Juan, this really means a lot to me!

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

    Excellent presentation of skills, saved my entire day, it is good idea to save images on server rather than in db
    It also saves memory in the dB.

  • @saurabhpande7456
    @saurabhpande7456 4 ปีที่แล้ว

    Best dev coach

  • @arietbegeldinov9433
    @arietbegeldinov9433 6 ปีที่แล้ว

    This course is awesome thank u for all things that u r doing guys, big big thank from Russia.

    • @academind
      @academind  6 ปีที่แล้ว

      A big thank you to you Ariet, it's really amazing to receive such a great feedback! Greetings from Germany :)

  • @pasinduekanayaka8023
    @pasinduekanayaka8023 4 ปีที่แล้ว

    you can include the whole path in the url if you use the middle-ware like this " app.use('/uploads' , express.static('uploads')); "

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

    love your content man! this video helped me a lot

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

    You are Angel for us

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

    thanks buddy you saved my life.

  • @sharathtelu1904
    @sharathtelu1904 4 ปีที่แล้ว

    Beautifully Explained!

  • @sarthaklav4496
    @sarthaklav4496 6 ปีที่แล้ว

    Thanks a ton for the video. I was struggling from last 2 days now got the solution

    • @academind
      @academind  6 ปีที่แล้ว

      That's really great to read Sarthak, thank you for sharing this!

    • @sarthaklav4496
      @sarthaklav4496 6 ปีที่แล้ว

      Now I am able to upload a file through postman but still how to retrieve it in ejs

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

    thank you so so much my eyes are on tears...thank you once again

  • @diegoserrano8717
    @diegoserrano8717 5 ปีที่แล้ว

    Such a great tutorial and explanation mate.

    • @academind
      @academind  5 ปีที่แล้ว

      Thank you Diego :)

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

    best approach is to create an uploadmiddleware and push the code there
    export will look like this module.exports = image
    then in your route you will have
    const images = (or whatever you want to name it = require("../middleware/imageupload))
    router.post('your-route' , images.single())

  • @dtransformtechm4719
    @dtransformtechm4719 5 ปีที่แล้ว +4

    Perfect, saved my day. thank you

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

    At the beginning of my NodeJS / MySql Server i handled images with Base64 en-/decrypting and sending it as json, but after i understood multer, it was much more flexible & my Ionic App reacts better with the images 😊 thx for the perfect tutorial here ❤️👌🏼 i learned much more for multer ✌🏼 #MaxMyTeacher

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

      Thanks so much for your amazing feedback - I'm glad to hear that the video was helpful Rebar!

  • @MistaT44
    @MistaT44 5 ปีที่แล้ว

    Thank you very much for this tut. Covered everything with clear and concise explanations. Perfect!

    • @academind
      @academind  5 ปีที่แล้ว

      Thank YOU for your comment, happy to read that the video was helpful!

  • @artembelyshev9467
    @artembelyshev9467 4 ปีที่แล้ว

    Thanks man! You're really great in your videos even across of years )))

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

    The way you explain is owsome

    • @academind
      @academind  6 ปีที่แล้ว

      YOU are awesome Shahid, thanks so much for your great feedback!

  • @realOjive
    @realOjive 7 หลายเดือนก่อน

    @12:00 if you're wondering why you get ""ENOENT: no such file or directory, open" its because Date().toISOString uses forbidden Windows character ":" in its filename.

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

    Hey, for those who want to implement frontend w/ React, just send FormData object from React component with appended input values via axios post request, it'll work fine

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

      Do you have documentation or a git repository to show this? I am having some trouble. Thank you very much!

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

      @@markliu22 actually I do have that project on gitlab, however it's private, so I can just share with you some code. Where did you stuck?

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

      @@rdmammad5721 I followed this video and I can make a POST request with Postman to get the image to appear under the 'uploads' folder. However, I tried this in react with a form where the user enters their name and inserts a file for their profile picture. I then tried to use Axios to make a POST request just like in Postman however it did not work. In my state, I have the name and the file. When I do axios.post(), I know the first parameter I pass in should be the link to where I want the post request to be, but the second parameter I am not sure. I tried passing in this.state as the second parameter and it did not work. Any help is greatly appreciated!

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

      @@markliu22 Ok, I got what kind of trouble you have. Here is some code I've provided, hope that'll solve your problem. If not, feel free to ask:)
      hastebin.com/ecirekoxih.coffeescript

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

      @@rdmammad5721 Okay I will try it out thank you very much! :)

  • @ПетроБойко-ц3б
    @ПетроБойко-ц3б 7 ปีที่แล้ว

    Merry Christmas and many thanks for your videos. Looking forward to JWT. :)

    • @academind
      @academind  7 ปีที่แล้ว

      Thank YOU and merry Christmas to you! :)

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

    You are insane, perfectly explained, thank you!!

  • @jm302music
    @jm302music 5 ปีที่แล้ว

    Thanks for the great tutorials, Max! Extremely helpful!

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

      Great to read that Joel, thank you for your comment!

  • @michaelwilmouth2552
    @michaelwilmouth2552 4 ปีที่แล้ว

    This guy is a wizard....

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

    Wow! explained very well. Thanks a lot.

  • @emmanuelteye3723
    @emmanuelteye3723 4 ปีที่แล้ว

    @Sachin Sharma you save my day

  • @barjosa31blogspot83
    @barjosa31blogspot83 7 ปีที่แล้ว

    Thank you Max again! Helpful content!

    • @academind
      @academind  7 ปีที่แล้ว

      Thanks a lot for your comment!

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

    thank you so much man ! this is awsome 😍

  • @dominickurt
    @dominickurt 7 ปีที่แล้ว +5

    Hi, I hope your next serie will be How to create nodejs api with loopback.

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

      Thanks for the suggestion Dominic. It probably won't be the next series but I'll add it to my "idea list" and see what I can do

    • @uziao
      @uziao 6 ปีที่แล้ว

      LoopBack is not good? =P

    • @JanKowalski-kh9nl
      @JanKowalski-kh9nl 6 ปีที่แล้ว

      @@uziao no it's not. The basic mechanism of data filtering does not work in the loopback: github.com/strongloop/loopback/issues/517

  • @abhishekbutola8294
    @abhishekbutola8294 7 ปีที่แล้ว

    Awesome Tutorial. Expecting next tutorial on authentication. Thanks for the Great Job

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

      Auth is coming up, no worries! :)

  • @liliabaluk7539
    @liliabaluk7539 4 ปีที่แล้ว

    Thank you for great tutorial!

  • @harshgandhi4328
    @harshgandhi4328 6 ปีที่แล้ว

    Thanks a lot for this awesome tutorial Max! :)

    • @academind
      @academind  6 ปีที่แล้ว

      Happy to read that you like the video Harsh, thank you for your comment!

  • @johnnys.f.5196
    @johnnys.f.5196 3 ปีที่แล้ว

    Thank yoou, this tutorial helped a lot :')

  • @Skaxarrat
    @Skaxarrat 6 ปีที่แล้ว

    I've tried many (good) Express tutorials but I never found one so deep and this one. Thanks Max, I'm enjoying this course a lot (as well as the Angular and Ionic ones on Udemy I've bought ;) ).
    P.S: I just saw you've a Python course for Blockchain and Cryptocurrency. I would like to suggest you to make a Python course for Machine Learning applied for websites and/or industries (as how to increase production, suggest products as Amazon does, etc)

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

      Thanks for both your amazing feedback and the suggestion! There's definitely more Python content to come in the future :)

  • @usamanaseer3526
    @usamanaseer3526 5 ปีที่แล้ว

    you are greatest man ever

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

    req.file comes undefined..any help as i m a new comer to node

  • @niccubagonoc2153
    @niccubagonoc2153 6 ปีที่แล้ว

    Thank you soo much Max! You're amazing!

    • @academind
      @academind  6 ปีที่แล้ว

      YOU are amazing Niccu, thank you for your comment!

  • @novalovarc740
    @novalovarc740 4 ปีที่แล้ว

    Thank you! That was very clear!

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

    Thanks for this!

  • @AlexTechie
    @AlexTechie 6 ปีที่แล้ว

    Max, you're one of my favorite TH-camrs. :)

    • @academind
      @academind  6 ปีที่แล้ว

      This really means a lot to me Alex, thanks so much :)

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

    This is great, thank you!

  • @Raj6026
    @Raj6026 5 ปีที่แล้ว

    Thank you sir.. I was looking for it...this is really helpful

  • @kshitizsareen9420
    @kshitizsareen9420 4 ปีที่แล้ว

    Great Tutorial!!!Thanks

  • @shahbazmancho2062
    @shahbazmancho2062 6 ปีที่แล้ว

    Hi Sir!
    Thank you for the great tutorial on REST APIs.

    • @academind
      @academind  6 ปีที่แล้ว

      Thanks a lot for your great feedback Shahbaz, happy to read that you liked the series!