diff --git a/src/routes/api/add.js b/src/routes/api/add.js new file mode 100644 index 0000000..c3700dd --- /dev/null +++ b/src/routes/api/add.js @@ -0,0 +1,14 @@ +const express = require('express'); +const router = express.Router(); + +router.post('/', (req, res) => { + const { input } = req.body; + + res.json({ ret: input.a + input.b }); +}); + +router.get('/:a/:b', (req, res) => { + res.json({ ret: req.params.a + req.params.b }); +}); + +module.exports = router; \ No newline at end of file diff --git a/src/routes/docs/openapi.json b/src/routes/docs/openapi.json index a83e440..9090ae9 100644 --- a/src/routes/docs/openapi.json +++ b/src/routes/docs/openapi.json @@ -287,6 +287,71 @@ } } } + }, + "/add": { + "post": { + "summary": "Adds two numbers", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "input": { + "type": "object", + "properties": { + "a": { + "type": "number", + "example": 5 + }, + "b": { + "type": "number", + "example": 10 + } + } + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/add/{a}/{b}": { + "get": { + "summary": "Adds two numbers from path parameters", + "parameters": [ + { + "name": "a", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "example": "5" + }, + { + "name": "b", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "example": "10" + } + ], + "responses": { + "200": { + "description": "Success" + } + } + } } } } diff --git a/src/server.js b/src/server.js index 0dae620..f0317df 100644 --- a/src/server.js +++ b/src/server.js @@ -8,6 +8,9 @@ const isOddRoute = require('./routes/api/isOdd'); const toStringRoute = require('./routes/api/toString'); const isNumberRoute = require('./routes/api/isNumber'); const stringSplitRoute = require('./routes/api/stringSplit'); +const addRoute = require('./routes/api/add'); + + const docsRoute = require('./routes/docs/main'); const app = express(); @@ -24,6 +27,9 @@ app.use('/api/isOdd', isOddRoute); app.use('/api/toString', toStringRoute); app.use('/api/isNumber', isNumberRoute); app.use('/api/stringSplit', stringSplitRoute); +app.use('/api/add', addRoute); + + app.use('/docs', docsRoute); app.listen(PORT, () => {