the best tutorial on the internet. did it all under 30 minutes. others tried and took them 10 videos to explain what you did in that time. well done and thanks for the help!
For anyone struggling with lowdb, change the declaration to import cors from 'cors'; import express from 'express'; import morgan from 'morgan'; import { Low, JSONFile } from 'lowdb'; import { dirname } from 'path'; import { fileURLToPath } from 'url'; import { join } from 'path'; const __dirname = dirname(fileURLToPath(import.meta.url)); const file = join(__dirname, 'db.json'); const adapter = new JSONFile(file); const db = new Low(adapter); const PORT = process.env.PORT || 4000; db.defaults({ books: [] }).write(); Remeber to add type: module to your package.json file
Hey Maksim, thank you so much for this content. Found in a very good timing because my team will start to use swagger and its routes/documentation soon. I had the opportunity to put in practice and also meet that great channel of yours. I started following and subscribed the newsletter. Hope to learn more with your explanations (specially in TS) here. Best regards
If you want to follow this tutorial then make sure you install swagger-jsdoc like this: npm i swagger-jsdoc@6.0.1 Otherwise, it won't work with the current version 7 of swagger-jsdoc which breaks everything and is a pain in the ass to setup.
Suppose I keep the schemas from mongoose in a separate file from routes, how do I instruct swagger-jsdoc to parse schema instructions from there ? just add the path to apis section in the options object ? Or is there anything wrong with doing that
Even if I press Execute button @16:37, I'm not shown the response. Whereas I am able to see the correct response from RESPONSE TAB from the browser dev tools. Why is that
Hi, thanks for great video, definitely I am gonna be using swagger! I have just one question, why only post / route has try catch block and 500 response? Is there any reason for that or it is just by example?
Hi your tutorial is amazing, i have a problem, the swagger when a running in my local show the swagger page and the APIS, but when a try run the swagger in my server AWS this show nothing. what will be the problem so that it does not show anything in the server
Many thanks for this video tutorial, I personally use your tutorial a lot and help me to understand them more easily, I have a question, for backend with node I can see you use expressjs, would you recommend this for production or do you know or can point me for a better choice? do you know any page which compares different tools/libs for node backend technology?
hi, well two major backend libs for node are expressjs and nestjs. The problem with express is that it is a like a constructor kit, it is very minimalistic. You have to make lots of decisions when working with it and likely use a bunch of other libraries. Nest is more like a combine. It has a lot of decisions made for you and you got to learn the way the creators of the lib intended it to be used. Hope this helps
1) Suppose, I have a schema for Project model which contains 20 properties. Now for my project-dropdown API I only need 3 properties from the schema then how I can refer the schema and pick few properties only? 2) I have 2 schemas, one for Project with 20 properties and another one is Task with 10 properties. Now for ProjectDetails API I have response something like { id: 1, name: "ProjectName", tasks: [ {id: 1, name: "TaskName"} ] } Now how I can accomplish this nested object by referring both individual schema which are Project and Task 3) Can I have search box in Swagger UI to filter APIs?
Hi Maksim, thanks for Tutorial. It worked perfectly on localhost, but after deploying it shows "No operations defined in spec!" and no requests are shown. Please help me out with this issue.
Hi every one, great job! Only one thing, when I was use method POST, it was created new book but not added in db.json so I was changed // res.send(book) --> res.send(req.app.db.get("books") and now all working well for me.
I believe that adding components schemas to the definitions object inside options is a little bit neater. This way you avoid having orphan jsdoc comments in route files (i actually don't know if swagger-jsdoc is able to merge multiple components schemas into one). Also if you add it to the definitions object the syntax is js not yaml nonsense, much easier to write in vscode.
Nice programming skill. I am new to nodejs and looking for swagger api documentation, please share this code with me so that I will explore more on this.
This may require more video editing but, I would be nice if you make video's using typescript as it's trending towards the standard. Then add javascript comment alt post edit, just for future proofing.
Nice tutorial! For those who have a working restful service(s) and want to learn only the swagger part, you may safely skip to 9:50
Thanks alot!
the best tutorial on the internet. did it all under 30 minutes. others tried and took them 10 videos to explain what you did in that time. well done and thanks for the help!
I'd love to see some Typescript in future for your code example.
For anyone struggling with lowdb, change the declaration to
import cors from 'cors';
import express from 'express';
import morgan from 'morgan';
import { Low, JSONFile } from 'lowdb';
import { dirname } from 'path';
import { fileURLToPath } from 'url';
import { join } from 'path';
const __dirname = dirname(fileURLToPath(import.meta.url));
const file = join(__dirname, 'db.json');
const adapter = new JSONFile(file);
const db = new Low(adapter);
const PORT = process.env.PORT || 4000;
db.defaults({ books: [] }).write();
Remeber to add type: module to your package.json file
Oh yes, good idea! I'd like to see examples in TypeScript
Amazing tutorial. Using typescript would be a welcome development.
Hey Maksim, thank you so much for this content. Found in a very good timing because my team will start to use swagger and its routes/documentation soon. I had the opportunity to put in practice and also meet that great channel of yours. I started following and subscribed the newsletter. Hope to learn more with your explanations (specially in TS) here. Best regards
name: maksim
Hi Maksim! Thanks for sharing your knowledge, it helped me a lot with my new job. A big hug from Brazil.
This tutorial was very helpful for me, thank you. I'd like to see more of your tutorials in TS.
Thanks Maksim, good stuff, and yup, I'd love to see some typescript knowledge share ~~
Found this very much useful for me as I am a beginner to Swagger :-)
Using TypeScript as the programming language would be so nice.
Been searching for this, I’ll try to play with it when I got a chance, thanks 😊
If you want to follow this tutorial then make sure you install swagger-jsdoc like this: npm i swagger-jsdoc@6.0.1
Otherwise, it won't work with the current version 7 of swagger-jsdoc which breaks everything and is a pain in the ass to setup.
Thanks for this update
You deserve a dollar
Had similar issue with lowdb had to go back and use npm i lowdb@1.0.0
@@TheIGORYA76 great thanks 👍
Nice job. Be great to add in the authentication bit. I managed to refer to the docs for that.
Awesome tutorial! Really like your examples. Any chance you could do another swagger tutorial with with typescript and mongoose/mongo?
This video helped me a lot. Thanks for the tutorial!!!
Yes, TS would be great! Or, at least using ESM modules in JS - that would be great as well! Let’s forget those old require() stuff and use imports!
Thank you very much for such an awesome tutorial. Yes, Please use Typescript
Максим! Спасибо огромное за суперское видео, поделюсь с братьями по стажировке)
I am getting an error: Error [ERR_REQUIRE_ESM]: Must use import to load ES Module:
Any suggestions?
Yes, TypeScript would be better. Thanks for the video!
Suppose I keep the schemas from mongoose in a separate file from routes, how do I instruct swagger-jsdoc to parse schema instructions from there ? just add the path to apis section in the options object ? Or is there anything wrong with doing that
Great tutorial, thanks Maksim!
Thank you, typescript will be great
Nice tutorial thanx. What's your VS Code theme? It's look so good an understandable.
Easy to follow coding and awesome. Keep it up !
Excellent tutorial
Very helpful video....Thanks a lot
Kindly make some video for authorization with the same
Thank you for nice tutorial! typescript examples in future +1
cool example! I guess no one has done a video on how to customize swagger-ui-react documentation is scarce
at 7:14 you say you cut a corner and that you're only doing this because it's an example project. What would you be doing in a real-world app instead?
You need to define a specific model, because in the way he did it any format is valid, that isnt correct in a real project
what is your theme name ?
Thank you so much❤❤
Very helpful
great video thank you. maybe a mix of JS and TypeScript...for variety.
Even if I press Execute button @16:37, I'm not shown the response. Whereas I am able to see the correct response from RESPONSE TAB from the browser dev tools. Why is that
Great video. I would like to see more TS videos.
what do you use to auto generate line comments, spaces, etc? I've been trying a few vscode plugins but none seemed to work like yours
Yea same for me
Thank you for the useful video)
I love typescript too!
So clear code, nice work
Very Good tutorial. Many thanks
Hi, thanks for great video, definitely I am gonna be using swagger! I have just one question, why only post / route has try catch block and 500 response? Is there any reason for that or it is just by example?
Hi your tutorial is amazing, i have a problem, the swagger when a running in my local show the swagger page and the APIS, but when a try run the swagger in my server AWS this show nothing.
what will be the problem so that it does not show anything in the server
Nice doing man!
Thank you. It was very good
how do you get the auto indenting inside the multi-line comment to work in vscode?
This video helped me a lot. Thanks.
Many thanks for this video tutorial, I personally use your tutorial a lot and help me to understand them more easily, I have a question, for backend with node I can see you use expressjs, would you recommend this for production or do you know or can point me for a better choice? do you know any page which compares different tools/libs for node backend technology?
hi, well two major backend libs for node are expressjs and nestjs. The problem with express is that it is a like a constructor kit, it is very minimalistic. You have to make lots of decisions when working with it and likely use a bunch of other libraries.
Nest is more like a combine. It has a lot of decisions made for you and you got to learn the way the creators of the lib intended it to be used.
Hope this helps
@@satansdeer1 Many thanks, I will check the NestJS
Thank you for the very informative video, loved the pace of the the scripting and the explanations! subscribed!
a perfect video for me
What if my application is exposed to localhost:8081 and I want to serve my swagger docs on localhost:8080?
And i thought it will be about swagger. And it was. Lol. Robotic tutorial!
may be a bit late but I'd like the typescript content much more
is it possible swagger notation define in separate file ? not in route section if more then 1000 or 2000 routes
can you tell me? what is theme and fonts you use for Vscode? thank you so much
Pure gold! Thank you
Thank you very much! 🇧🇷
I'm using your example for a jobposting ! let's see what they say ! ;)
1) Suppose, I have a schema for Project model which contains 20 properties. Now for my project-dropdown API I only need 3 properties from the schema then how I can refer the schema and pick few properties only?
2) I have 2 schemas, one for Project with 20 properties and another one is Task with 10 properties. Now for ProjectDetails API I have response something like { id: 1, name: "ProjectName", tasks: [ {id: 1, name: "TaskName"} ] } Now how I can accomplish this nested object by referring both individual schema which are Project and Task
3) Can I have search box in Swagger UI to filter APIs?
Hi Maksim, thanks for Tutorial. It worked perfectly on localhost, but after deploying it shows "No operations defined in spec!" and no requests are shown. Please help me out with this issue.
Hi every one, great job! Only one thing, when I was use method POST, it was created new book but not added in db.json so I was changed // res.send(book) -->
res.send(req.app.db.get("books")
and now all working well for me.
Nice tutorial. Can we have one which includes the authorization header?
How remove a book in lowdb version 3.0?. The method remove, not exists.
Great tutorial. But a good readable theme (particularly for swagger comments) of the code editor would help to read the code.
do you know of any?
hi when i call post request only id is created title and author is not adding what is the issue
i use ...req.body
i think your update documentation does not affect the database, i tried that. same query with postman fire perfectly worked!
+1 to Typescript
Telll me please what color them for editor you use, thanks
JavaScript please! Great video… Love it
Thanks for this tutorial
Hey how to use bearer token ? in swagger
Hi, Thanks for video. I love your VS color scheme, can you please provide it so I can use it for myself?
wow theme beautiful . Can you tell me the name of this extension?
would you recommend lowdb over mongodb?
not by any means
lowdb is used here only because it's easier to setup
how injection style sheet for swagger? thanks you
I believe that adding components schemas to the definitions object inside options is a little bit neater. This way you avoid having orphan jsdoc comments in route files (i actually don't know if swagger-jsdoc is able to merge multiple components schemas into one). Also if you add it to the definitions object the syntax is js not yaml nonsense, much easier to write in vscode.
If you have - "Error [ERR_REQUIRE_ESM]..."
In package.json
Downgrade:
"swagger-jsdoc": "6.0.0"
"lowdb": "1.0.0"
Upgrade dependencies, execute in console (project directory)
$ rm -rf node_modules/
$ npm install
Of course TypeScript is the way to go.
Nice programming skill.
I am new to nodejs and looking for swagger api documentation, please share this code with me so that I will explore more on this.
Check descriptions
@@helloworld9655 please create video on node with typescript swagger.
This may require more video editing but, I would be nice if you make video's using typescript as it's trending towards the standard. Then add javascript comment alt post edit, just for future proofing.
great job !
Чел, я посмотрел твой канал и ты делаешь годноту, но почему ты делаешь на англ при таком маленьком охвате прсомотров?
can you also create video for fastify swagger ?
For those who comes here to learn swagger, it starts at 9:52
How can you use require in an es module?
How to use with JWT ?
Getting swagger jsdoc import error please help to fix.
Thanks alot for the video. I would prefer Typescript
what's the name of VSCode theme ?
QUE THEME ESTAS USANDO PARA VISUAL STUDIO CODE
Estou usando material theme ocean dark. E español ou português?
i dont know why but my methods doesnt return anything
what vscode theme is that? yes, i'm that person. love themes 😅
nice video, I am looking for authentication Video using swagger
Thanks !
More codes with TypeScript please
Please prefer typescript over JS... as this resonates with my liking too
👍
please make the same video in typescript 🙏
Почему-то легче воспринимать английский язык от славян, чем он носителей : )