Knew most of this, but I still watched the entire tutorial because it was so incredibly well structured and didactic. You are a born teacher. I've often fantasized about making great and clear youtube tutorials, in my wildest most perfect fantasies, they looked exactly like the stuff you actually make! Incredible!
00:49 What are RESTful APIs 06:48 Introducing Express 09:09 Your First Web Server 14:57 Nodemon 16:29 Environment Variables 19:44 Route Parameters 25:22 Handling HTTP GET Requests 30:09 Handling HTTP POST Requests 33:53 Calling APIs using Postman 36:03 Input Validation 44:03 Handling HTTP PUT Requests 52:33 Handling HTTP DELETE Requests
19:14 below commands for windows, these are case sensitive so use exact VARIABLE name For Command Prompt: set PORT=5000 For Power Shell: $env:port=5000 For Bash (Windows): export PORT=5000
I appreciated a lot this free one hour tutorial, I already finish it and I bougth already right now!, I hope the full course is ok and updated!... If you guys want to learn dont hesitate ... watch this video of one hour and when you finish , you'll be more skilled than the before you watched this free course of one hour!.
I was struggling learning how to create a server with node and express. This tutorial is really easy to understand and well-structured for beginners. This is so far the best tutorial on TH-cam!!! Thank you so much, Mosh!!!
You are the light of my life! You are a hidden diamond in youtube! I really don't know how a person could be so good at explaining things and make it accessible to all !! Thanks a lot for help.
As Mosh wisely said to use that specific version of Joi it will work but note that in the current version of Joi you have to make the schema a Joi.object and then at 40:54 validate the schema rather than validate Joi e.g. schema.validate(req.body).
41:17 from v17 of the joi package, here's the updated code of the post route const schema = Joi.object({ name: Joi.string().min(6).required() }); const result = schema.validate(req.body); console.log(result);
Hi, I am using Joi version 17 too. I have problem because Joi.validate or Joi.Object are not recognized functions. Could you help or explain a little bit more? function validateCourse(course){ const schema = Joi.Object({ name: Joi.string().min(3).required() }); return schema.validate(req.body); }
I have solved the problem. I have to use Joi.object and correct parameter. It is working now. Thank you. function validateCourse(course){ const schema = Joi.object({ name: Joi.string().min(3).required() }); return schema.validate(course); }
If you meet the validation error, you have to do some changes to be according with your Joi version. With my Joi version: joi@17.6.0, the next changes worked: const schema = Joi.object({ name: Joi.string() .min(3) .max(30) .required() }); const result = schema.validate(req.body); console.log(result);
At 41:00, if using Joi v17, Joi.validate() no longer works. Instead your schema object should be const schema = Joi.object({ name: Joi.string() }); Then use const result = schema.validate(req.body);
This is my 3rd time watching a Mosh Tutorial Video starting from React, Node.js, to Express and it has really helped me in my career as an Application Developer. Thanks Mosh!
Great tutorial. I had just finished the express course on codecademy and was still really confused. Watching this gave me a much better understanding and explanation of the why and how of building endpoints with express on your actual computer. I'll definitely be checking out your courses and your other videos.
Mosh you are the man I learned this in my full-stack boot-camp, but didn't fully understand it. Your example was clear concise and helped me understand it better.
Very much dug and appreciated this tutorial. Where as a couple of others I 'learned' things, here I started to actually understand them. That's quite a bit more satisfying!
I watched your entire Node.Js course which inspired me to change my profile from Angular to Node.js Developer. I have developed 2 apps with ionic/angular & node.js. Thanks to u I could be a full stack developer now.
Thank you for your tutorial.. As a starter in Node, I found this really helpful Well structured explanation and good flow for a starter Now I could understand the basic of Node..
i just want to thank Mosh for that tutorial. i paid for your course and i'm here to say that it was not a mistake. thank you for your easy to understand courses. i appreciate you
Hi Sir, i took your Angular course... and i made oshop till the end... from then i've been a great fan of you..... never seen such a great teacher.....!!!
A few notes for everybody watching in 2021: // On windows you set environment variables like this: set "$Env:PORT = 5000" //(or maybe without the "" ) // Joi Validation method has changed! it's now like this: const schema = Joi.object({ name: Joi.string().min(3).required(), }); const result = schema.validate(req.body); console.log(result);
Thank you .. You are the best tutor..... FYI , Joy Validate has made change in 2021, i use this code to resolve my problem of "Joi.validate is not a function". app.post('/api/courses', (req,res) => { const schema = Joi.object({ name: Joi.string().min(3).required() }); const result = schema.validate(req.body); console.log(result);
For those who missed it in the comment below, Joi has changed. This worked for me: const schema = Joi.object({ name: Joi.string().min(3).required() }); const result = schema.validate(req.body); console.log(result); if (result.error){ res.status(400).send(result.error) }
you are one of the best teachers i can absorb anything you teach so quickly in just one month i started to work on a big project (+10 k) with react/node + redux and mongoDB , thank you my master
This guy knew everything a long time ago, c++, c#, java, JavaScript, python, PHP et cetera. He knows everything in-depth, he is like a super tech master of all genius.
I love his tutorials. If you are using a windows machine, dont use powershell when setting environment variables. rather use cmd because powershell doesnt update the variable until you restart the machine.
What a great tutorial! I knew most of the content but I watched the entire video because it's so well structured. Congratulations.. Your teaching skills are impressive! I normally skip some parts of most of >20min videos on TH-cam but I watched every little second of this one...
thankyou mosh , I have been watching API building videos but I had always stuck at routes topic but watching your video I not only have cleared my doubt but also acquired good knowledge
This is THE cleanest api tutorial I have seen yet! It's just absolutely phenomial! Very well structured and easy to follow. Will be creating a basic orders api, and this will help!
Its a great course. I followed it and everything was fine except that when you delete 1 course, the length of the courses decrease. So when you try to add a course after that, it overlaps courses. Anyway, for learning it was excellent! I love it
This is great! Nicely explained. There are tons of those tutorials in which they just do tons of stuff while telling that they do all this stuff but NOT telling WHY.
If anyone was struggle like I was since Joi has been deprecated here's my solution The way I got it to work was first const Joi = require('@hapi/joi'); The way I defined the schema was const schema = Joi.object({ name: Joi.string().min(3).required() }) The way I got it to validate const result = schema.validate(req.body)
I stumbled across this. Can confirm this as working in version 17.1.0. I would highly recommend that if you are using VS Code make sure your intellisense is working. You will see that validate() takes two arguments *value: any* and an optional argument *options?: Joi.ValidationOptions*.
Thank you so much sir for your excellent and detailed explanation of things. I started going through your videos for nodejs and then I have subscribed for the entire course and I cracked 4 interviews as a nodejs developer. Thank you once again for all your effort.
There is an issue with your PUT request logic. Let me give you an example. You have the course id's [1, 2, 3]. Then you delete [1]. So you have [2, 3] with length 2. Your PUT assigns the id (length + 1) which is equal to (3), so now you have the course id's [2, 3, 3] so you also need a validiateCourseID() function in order to ensure you don't have duplicate course id's because when calling a GET request on id=3 you will get duplicate results.
Programming with Mosh alright that makes sense. It's just that you taught the course as if we have prior JavaScript knowledge, and hopefully any programmer would have been able to catch a fatal error such as that. Because that would allow you to have lots of duplicate id's.
How do you know what will be returned from the request " require("module_name") " . For example you said require("express") returns a function and require("joi") returns a class. I am wondering where i can find those information.
Excellent question! You'd have to either look at the documentation for the module or explore it yourself, and the easiest way to do that is to run node interactively. Just run node without arguments from the command line, type in the require statement for the module and hit enter. If we're nitpicking, require("joi") returns doesn't return a class but rather an object of the class that it defines.
Helpful tip: for setting the environment variable in the "PORT" example, "set PORT=5000" may not work in Windows. $env:PORT = 5000 worked for me instead.
Okay why at 47:27 gets the whole courses updated when we only have the "course" which we extracted from the courses with the find function Edit: solved
Don't ever just edit some problem you've posted about to say "solved." Share what the solution was so that others who are experiencing the same issue can learn from your question.
It's because of JS nature - whenever you assign some existing object/array to some variable, you actually get the reference to that object/array (not its copy) Check it out yourself in the console let obj1 = {a: 1} let obj2 = obj1 obj2.a = 4 console.log(obj1.a) // 4 That's because it's the same object console.log(obj1 === obj2) Ahh - and also notice that {a: 1} === {a: 1} // false That's because of how JS checks equality of objects
Great tutorial. I always like it when an instructor can admit that there was a bug in what they were coding. Very humble and I like seeing the trouble shooting that the teacher goes through. Great course, I am studying writing smart contracts for cryptocurrencies, and originally watched your video because it came up in a list of videos under the query 'json'. Very fortunate that I found your work, I will be back to udemy to take your course!
No, it's just been moved here: hapijs.com/tutorials/validation. If you would've read the page, it says "This module has moved and is now available at @hapi/joi. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues."
Amazing tutorial on rest api... I just brought the annual subscription after watching this video... Thanks Mosh for the great initiative you have taken to share your knowledge in simplified form....
I can't get the PORT environment variable to work on Windows 10... What am I doign wrong? I've tried git bash, powershell and going through the system properties. I've tried $env:PORT, export PORT, set PORT, PORT... Also for some reasons I couldn't get the PUT and DELETE requests to work.
You can use cross-env. It will let you use environment variables across platforms. Accessing process environment variables is always a problem in windows machines. You can simple install it by running the command- npm I cross-env -D Then go to your package.json file inside scripts section you will see the start command, simple replace it with "cross-env PORT=3000 npm start" (Just prepend cross-env before the star command)
If anyone reads this, please affirm my belief that the logic for post method should be updated now, after the delete method has been written. For eg after deleting the 1st course as mosh did in the lecture, if we call the post method with a valid body, we will create two courses with id = 3(since id of the new course is length of courses plus one). We can change the logic for Initialization of the new course id as the id of the last course object in courses plus one
Wow, thank you Mosh. This is the clearest, most detailed explanation I have come across. This helped me so much and I thank you so much. Going to get your course now as I love your teaching. Spot on
Knew most of this, but I still watched the entire tutorial because it was so incredibly well structured and didactic.
You are a born teacher. I've often fantasized about making great and clear youtube tutorials, in my wildest most perfect fantasies, they looked exactly like the stuff you actually make! Incredible!
I agree. Really entertaining videos
This is the clearest, most elegant tutorial of Express JS basics. Amazing since it was uploaded two years ago. Thanks, Mosh.
Agreed!!
Ya but advance topics r wery little
I've been learning web development for over a year, and I've never seen such amazing, organized, coherent courses like yours! Thanks Mosh!
so true
00:49 What are RESTful APIs
06:48 Introducing Express
09:09 Your First Web Server
14:57 Nodemon
16:29 Environment Variables
19:44 Route Parameters
25:22 Handling HTTP GET Requests
30:09 Handling HTTP POST Requests
33:53 Calling APIs using Postman
36:03 Input Validation
44:03 Handling HTTP PUT Requests
52:33 Handling HTTP DELETE Requests
thank you so much
@@tekz541 you blind this is in the description
@@r_lonef ahhh, im was not reading the description
@@tekz541 programmers always should if they need something :)
Man! this for far one of the best well explained Node+Express crash courses I've ever seen. You convinced me to buy the full series :)
19:14 below commands for windows, these are case sensitive so use exact VARIABLE name
For Command Prompt: set PORT=5000
For Power Shell: $env:port=5000
For Bash (Windows): export PORT=5000
Thanks!
I appreciated a lot this free one hour tutorial, I already finish it and I bougth already right now!, I hope the full course is ok and updated!... If you guys want to learn dont hesitate ... watch this video of one hour and when you finish , you'll be more skilled than the before you watched this free course of one hour!.
I've been a c# dev for about 7 years and wanted to learn new technologies like nodejs and this video is great to start with. Thanks Mosh
I was struggling learning how to create a server with node and express. This tutorial is really easy to understand and well-structured for beginners. This is so far the best tutorial on TH-cam!!! Thank you so much, Mosh!!!
You are the light of my life! You are a hidden diamond in youtube! I really don't know how a person could be so good at explaining things and make it accessible to all !! Thanks a lot for help.
As Mosh wisely said to use that specific version of Joi it will work but note that in the current version of Joi you have to make the schema a Joi.object and then at 40:54 validate the schema rather than validate Joi e.g. schema.validate(req.body).
41:17 from v17 of the joi package, here's the updated code of the post route
const schema = Joi.object({
name: Joi.string().min(6).required()
});
const result = schema.validate(req.body);
console.log(result);
Hi, I am using Joi version 17 too. I have problem because Joi.validate or Joi.Object are not recognized functions. Could you help or explain a little bit more?
function validateCourse(course){
const schema = Joi.Object({
name: Joi.string().min(3).required()
});
return schema.validate(req.body);
}
I have solved the problem. I have to use Joi.object and correct parameter. It is working now. Thank you.
function validateCourse(course){
const schema = Joi.object({
name: Joi.string().min(3).required()
});
return schema.validate(course);
}
Thank you, Niharika!!!!
im not sure if i understood but can i just do validation from client side¿
Thanks 👍, what do you do now?
If you meet the validation error, you have to do some changes to be according with your Joi version.
With my Joi version: joi@17.6.0, the next changes worked:
const schema = Joi.object({
name: Joi.string()
.min(3)
.max(30)
.required()
});
const result = schema.validate(req.body);
console.log(result);
Thanks bro it really help.🙏
You are my hero
At 41:00, if using Joi v17, Joi.validate() no longer works. Instead your schema object should be
const schema = Joi.object({ name: Joi.string() });
Then use
const result = schema.validate(req.body);
This is my 3rd time watching a Mosh Tutorial Video starting from React, Node.js, to Express and it has really helped me in my career as an Application Developer. Thanks Mosh!
same... Mosh is so awesome!!!!
Mosh, your teaching style is so clear. Thank you for the courses!
Thanks a lot! i finished ReactJs, NodeJs, and Express in two days! Thanks a lot
Great tutorial. I had just finished the express course on codecademy and was still really confused. Watching this gave me a much better understanding and explanation of the why and how of building endpoints with express on your actual computer. I'll definitely be checking out your courses and your other videos.
Mosh you are the man I learned this in my full-stack boot-camp, but didn't fully understand it. Your example was clear concise and helped me understand it better.
Very much dug and appreciated this tutorial. Where as a couple of others I 'learned' things, here I started to actually understand them. That's quite a bit more satisfying!
I watched your entire Node.Js course which inspired me to change my profile from Angular to Node.js Developer. I have developed 2 apps with ionic/angular & node.js. Thanks to u I could be a full stack developer now.
Thank you for your tutorial..
As a starter in Node, I found this really helpful
Well structured explanation and good flow for a starter
Now I could understand the basic of Node..
i just want to thank Mosh for that tutorial. i paid for your course and i'm here to say that it was not a mistake. thank you for your easy to understand courses. i appreciate you
Today was a lucky day I got the right tutorial on right time on TH-cam
Hi Sir, i took your Angular course... and i made oshop till the end... from then i've been a great fan of you..... never seen such a great teacher.....!!!
Very professional teaching..
Moish, you are bomba.
*Mosh
*Moisht
Moist
Momo
*Moishy
with just first 2 minutes of the entire video, it made me subscribe and like all your videos.
A few notes for everybody watching in 2021:
// On windows you set environment variables like this:
set "$Env:PORT = 5000"
//(or maybe without the "" )
// Joi Validation method has changed! it's now like this:
const schema = Joi.object({
name: Joi.string().min(3).required(),
});
const result = schema.validate(req.body);
console.log(result);
You're a savior. Thanks!
For me, it's still listening to Port 3000... is there any other way to solve this?
@@shivaniganji4300 Yeah, just set PORT=5000. don't put any space between the PORT, the equality sign and the 5000.
Thank you .. You are the best tutor..... FYI , Joy Validate has made change in 2021, i use this code to resolve my problem of "Joi.validate is not a function".
app.post('/api/courses', (req,res) => {
const schema = Joi.object({
name: Joi.string().min(3).required()
});
const result = schema.validate(req.body);
console.log(result);
good friend
For those who missed it in the comment below, Joi has changed. This worked for me:
const schema = Joi.object({
name: Joi.string().min(3).required()
});
const result = schema.validate(req.body);
console.log(result);
if (result.error){
res.status(400).send(result.error)
}
can we find a way to pin this to the top? I almost gave up because of this part
if we install joi in the way it shows in the video. we wouldn't need this.
@@shanthuog2589 yea lets just not use the updated version of JOI makes sense
thanks for this .
Very good tutorial Mr. Mosh..Things are organised very well...Nothing is more or less..Good effort....Thank u...
you are one of the best teachers i can absorb anything you teach so quickly in just one month i started to work on a big project (+10 k) with react/node + redux and mongoDB , thank you my master
In one sentence , This lecture is awesome Mr. Mosh. thanks.
Explained everything very beautifully ,simply,precisely. Wow!!!!!!!!!!!
It's scary seeing that someone knew about this four years ago
Same bro same
This guy knew everything a long time ago, c++, c#, java, JavaScript, python, PHP et cetera. He knows everything in-depth, he is like a super tech master of all genius.
🤣🤣🤣😂😂😂
Lmao,
😂😂😂
I'm buying the course! I need to learn Javascript and Node and so far, this is one of the best tutorials I've seen! :)
You should make a video teaching how to integrate nodejs and angular features. Your way to teach is unique!
I love his tutorials.
If you are using a windows machine, dont use powershell when setting environment variables. rather use cmd because powershell doesnt update the variable until you restart the machine.
ur style of explaining things in this tutorial is very good. 👍 I'm lucky to watching this tutorial
First Time I am learning Node.js bcz I am Frontend Dev.. Its this video is quite easy to learn..
Thanx
What a great tutorial! I knew most of the content but I watched the entire video because it's so well structured. Congratulations.. Your teaching skills are impressive! I normally skip some parts of most of >20min videos on TH-cam but I watched every little second of this one...
Oh mosh this is a great tutorial the exact thing I WANTED TO learn,perfect for those who want to learn How backend stuffs work
How can I take course in udemy
@@harishpaudel7670 by spending money
@@harishpaudel7670 my opinion would be to take Mosh's instead.
Really nice tutorial for any level of programmer and really helpful to follow 🤓💯.
I bought your Angular course on Udemy and I saw you had a TH-cam! Very cool!
Program With Erik me too. 😁
How is it?
thankyou mosh , I have been watching API building videos but I had always stuck at routes topic
but watching your video I not only have cleared my doubt but also acquired good knowledge
I bought your angular course on udemy and that was too good having right content in minimal time. This video about nodejs is awesome thanks mosh
A very clear tutorial on building APIs with Node and Express. The best tutorial on the subject. Thanks, Mosh
{2021-08-14}, {2023-12-15}
This has to be the easiest tutorial on the subject. The others I've found do too much. Thank you, sir.
absolutely LOVED this short tutorial. learnt so much in just an hour. thank you!!!
00:00 - Intro
00:50 - Restful services
06:50 - Introducing Express
09:10 - Your First Web Server
14:58 - Nodemon
16:30 - Environment Variables
19:45 - Route Parameters
23:07 - autopromo
25:25 - Handling GET Requests
30:10 - Handling POST Requests
44:03 - Handling PUT Requests
52:36 - Handling DELETE Requests
55:25 - Fixing a bug
57:25 - Project
If you could add this to your description would be cool for new viewers :)
@@clementita54 bump
Mosh, such a clear and fully comprehensive tutorial. Very professional video. I will get the course straight away.
Hi Mosh, this is so great. You explain it in detail yet clearly understandable. Awesome.
This is THE cleanest api tutorial I have seen yet! It's just absolutely phenomial! Very well structured and easy to follow. Will be creating a basic orders api, and this will help!
Yes. I am going to purchase the course! :D
Awesome tutorial MOSH!
You made me feel at ease with learning new powerful frameworks which I was really scared of....thank you so much....
Another excellent course by Mosh: clear, to the point, practical. Not a waste of time. Thx!
Massive thanks. This helped me a lot.
all of your tutorials are awesome, easy to understand, interesting, and very helpful for a beginner student
such a great tutorial i had seen ever. Thanks for great organised and to the point video.
Thank you, paid university 50k, but still ran to TH-cam for help. Thank you for your effort and time!
@@programmingwithmosh Totally agree!
Thank you Mosh, this is a great tutorial; so many node concepts in one lesson and presented in a straightforward way.
I'm buying your full course after watching this. Legendary stuff.
Excellent, thank you very Mosh.
I laughed out loud.
Its a great course. I followed it and everything was fine except that when you delete 1 course, the length of the courses decrease. So when you try to add a course after that, it overlaps courses. Anyway, for learning it was excellent! I love it
would recommend you to create a GitHub repository so that we don't have to pause the video to write code and run it every time.
This is great! Nicely explained. There are tons of those tutorials in which they just do tons of stuff while telling that they do all this stuff but NOT telling WHY.
What a great tutorial! Keep up the good work.
This was amazing, even after 4 yrs.
If anyone was struggle like I was since Joi has been deprecated here's my solution
The way I got it to work was first const Joi = require('@hapi/joi');
The way I defined the schema was const schema = Joi.object({ name: Joi.string().min(3).required() })
The way I got it to validate const result = schema.validate(req.body)
thank you! I just had missed a little thing but I managed to make it work now :)
I stumbled across this. Can confirm this as working in version 17.1.0.
I would highly recommend that if you are using VS Code make sure your intellisense is working. You will see that validate() takes two arguments *value: any* and an optional argument *options?: Joi.ValidationOptions*.
Best investment I've made all year! Get the full course. Give this man his just due!
in powershell to set port variable: $env:PORT = 5000
Thanks man, what a savior ...
thanks man, appreciate you
Thanks man
setx PORT 5000
Thank you so much sir for your excellent and detailed explanation of things. I started going through your videos for nodejs and then I have subscribed for the entire course and I cracked 4 interviews as a nodejs developer. Thank you once again for all your effort.
There is an issue with your PUT request logic. Let me give you an example. You have the course id's [1, 2, 3]. Then you delete [1]. So you have [2, 3] with length 2. Your PUT assigns the id (length + 1) which is equal to (3), so now you have the course id's [2, 3, 3] so you also need a validiateCourseID() function in order to ensure you don't have duplicate course id's because when calling a GET request on id=3 you will get duplicate results.
Programming with Mosh alright that makes sense. It's just that you taught the course as if we have prior JavaScript knowledge, and hopefully any programmer would have been able to catch a fatal error such as that. Because that would allow you to have lots of duplicate id's.
could just use --> id: courses[courses.length-1].id +1
let maxId = 1;
if (courses.length > 0) {
maxId = courses.reduce((max, c) => c.id > max ? c.id : max, courses[0].id) + 1;
}
Dear sir, thank you very much for your tutorial. You're great teacher!
How do you know what will be returned from the request " require("module_name") " .
For example you said require("express") returns a function and require("joi") returns a class. I am wondering where i can find those information.
Excellent question! You'd have to either look at the documentation for the module or explore it yourself, and the easiest way to do that is to run node interactively. Just run node without arguments from the command line, type in the require statement for the module and hit enter. If we're nitpicking, require("joi") returns doesn't return a class but rather an object of the class that it defines.
Impressive and easy!
Thank you for this very useful video!
Helpful tip: for setting the environment variable in the "PORT" example, "set PORT=5000" may not work in Windows. $env:PORT = 5000 worked for me instead.
Thank You!!
Thanks bud
These vids are so good, I've been watching your channel for 48hours - sleep and I'm nearly at the stage of making my own API :D
Okay why at 47:27 gets the whole courses updated when we only have the "course" which we extracted from the courses with the find function
Edit: solved
Don't ever just edit some problem you've posted about to say "solved." Share what the solution was so that others who are experiencing the same issue can learn from your question.
It's because of JS nature - whenever you assign some existing object/array to some variable, you actually get the reference to that object/array (not its copy)
Check it out yourself in the console
let obj1 = {a: 1}
let obj2 = obj1
obj2.a = 4
console.log(obj1.a) // 4
That's because it's the same object
console.log(obj1 === obj2)
Ahh - and also notice that
{a: 1} === {a: 1} // false
That's because of how JS checks equality of objects
@@rafagawlikowski9267 Thanks for taking the time to type this out and explain
Great tutorial. I always like it when an instructor can admit that there was a bug in what they were coding. Very humble and I like seeing the trouble shooting that the teacher goes through. Great course, I am studying writing smart contracts for cryptocurrencies, and originally watched your video because it came up in a list of videos under the query 'json'. Very fortunate that I found your work, I will be back to udemy to take your course!
joi is deprecated, express-validator is an alternative that can be used now.
No, it's just been moved here: hapijs.com/tutorials/validation. If you would've read the page, it says "This module has moved and is now available at @hapi/joi. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues."
This contest is terrific Mosh. Easy to understand and clear explanations. I also enjoyed the other NodeJS videos.
Awesome,Please upload more videos on building api
You can find all of this here: www.udemy.com/user/moshfeghhamedani/
Amazing tutorial on rest api... I just brought the annual subscription after watching this video... Thanks Mosh for the great initiative you have taken to share your knowledge in simplified form....
I can't get the PORT environment variable to work on Windows 10... What am I doign wrong?
I've tried git bash, powershell and going through the system properties.
I've tried $env:PORT, export PORT, set PORT, PORT...
Also for some reasons I couldn't get the PUT and DELETE requests to work.
You can use cross-env. It will let you use environment variables across platforms. Accessing process environment variables is always a problem in windows machines.
You can simple install it by running the command-
npm I cross-env -D
Then go to your package.json file inside scripts section you will see the start command, simple replace it with
"cross-env PORT=3000 npm start"
(Just prepend cross-env before the star command)
Regarding you your second query it may be some problem with the routing.
Happy coding
Hi Mosh, Ur English is most understandable by other countries people, thanks....
Who else is watching in 2024 😊
My😅
2025 4 me
Anyone else see the irony in building a video rental app :D. Thanks Mosh, great video!!!
Can u upload it in Udemy ?
This course is still Gold I bet. Very valuable
"And I know this probably doesn't make any sense to you...
...because it was introduced by a *p h p s t u d e n t* "
I DIED XD
"PhD student as part of his thesis", not PHP
This is the best course in the world for node and express!!!!
How to get and post real data is not shown. This video is not worth watching for an hour.
For that u have to pay...
You rock! I wonder why haven't I found your channel 'till now. tnx for your spectacular tutorials
i can't express the happiness i am getting thanks a lot mosh sir
Your teaching style and your voice, explanation is super clear, easy to understand, the animation and presentation are awesome
If I had enough money, I would buy everyone a course! Excellent !!!
Mr. Mosh your video lectures are just as Tina says in her song: Simply The Best. Thanks a lot.
The way you explain theory is awesome we never get bored of it
If anyone reads this, please affirm my belief that the logic for post method should be updated now, after the delete method has been written. For eg after deleting the 1st course as mosh did in the lecture, if we call the post method with a valid body, we will create two courses with id = 3(since id of the new course is length of courses plus one). We can change the logic for Initialization of the new course id as the id of the last course object in courses plus one
Wow, thank you Mosh. This is the clearest, most detailed explanation I have come across. This helped me so much and I thank you so much. Going to get your course now as I love your teaching. Spot on