Objective: In this article, you will know how to Create NodeJS server, Connect swagger
Pre-requisite Prior to completing this article, you should have already installed all pre-requisite tooling including: Visual Studio Code, Node Package Manager (NPM), Node.
First step: Init for project starting
npm init -y
Then install for other plugin
npm i express swagger-ui-express yamljs
Also install for Dev dependency
npm i -D nodemon
Configure package.json
file
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js"
},
Create a index.js
file and Import necessary plugin which already installed.
const express = require('express')
const swaggerUI = require('swagger-ui-express')
const YAML = require('yamljs')
const swaggerDoc = YAML.load('./swagger.yaml')
Create express server and config few thing into index.js
file
//express app
const app = express()
app.use(express.json())
app.use('/docs', swaggerUI.serve, swaggerUI.setup(swaggerDoc))
app.get('/health', (_req, res) => {
res.status(200).json({
health: 'Ok'
})
})
app.listen(4000, ()=> {
console.log('Server is listening on port 4000')
} )
Create swagger.yaml
file. Where insert this basic file.
openapi: 3.0.0
info:
version: 1.0.0
title: Testing Open Api Spec
description: >
I am learning Open API Specification. This is industry standard specification technique for any web service
termsOfService: https://example.com/terms
contact:
name: Bipon Biswas
url: https://example.com
email: support@gmail.com
license:
name: Apache 2.0
url: http://apache.com
servers:
- url: http://localhost:4000/api/v1
description: dev server
- url: http://example.com/api/v1
description: prod server
paths:
/health:
get:
tags: [Health]
description: this endpoint will test the health of the api
responses:
'200':
description: it will return a success message
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: ok
'500':
description: The Server is down
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: server is down
Now run the project
npm run dev
Now hit the URL into browser http://localhost:4000/health
Also hit the URL http://localhost:4000/docs/
Reference
Top comments (0)