// @title Sample Service API // @version 1.0 // @description Platform API for Sample. // @contact.name getsu // @contact.url http://www.swagger.io/support // @contact.email acrhwfy@gmail.com // @license.name Apache 2.0 // @license.url http://www.apache.org/licenses/LICENSE-2.0.html // @host sample.com // @BasePath /api // @securityDefinitions.apikey ApiKeyAuth // @in header // @name Authorization func setupRouter() *gin.Engine { r := gin.Default() r.Run() }
//CreateApp create app // CreateApp godoc // @Summary create app // @Description create app // @Accept json // @Produce json // @Param app body dao.App true "create app" // @Success 200 {object} App // @Failure 400 {object} Response // @Failure 500 {object} Response // @Router /app [post] // @Security ApiKeyAuth func CreateApp(c *gin.Context) { //略 }
npm i express-swagger-generator --save-dev
var express = require('express'); var bodyParser = require('body-parser'); var controller = require('./controller'); const config = require('./config/config'); var app = express(); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); const expressSwagger = require('express-swagger-generator')(app); let options = { swaggerDefinition: { info: { description: 'This is a sample server', title: 'Swagger', version: '1.0.0', }, host: 'localhost:3000', basePath: '/v1', produces: [ "application/json", "application/xml" ], schemes: ['http', 'https'], securityDefinitions: { JWT: { type: 'apiKey', in: 'header', name: 'Authorization', description: "", } } }, route: { url:'/swagger', docs:'/swagger.json', //swagger文件 api }, basedir: __dirname, //app absolute path files: ['./controller/*.js'] //Path to the API handle folder }; expressSwagger(options) app.listen(config.port);
/** * api for get request * @route GET /api/run * @returns {object} 200 - An array of user info * @returns {Error} default - Unexpected error */ exports.doGet = function(req, res) { res.setHeader('Content-Type', 'application/json;charset=utf-8'); res.send({ result: true, message: 'ok' }); }; /** * api for post request * @route POST /api/run * @returns {object} 200 - An array of user info * @returns {Error} default - Unexpected error */ exports.doPost = function(req, res) { res.setHeader('Content-Type', 'application/json;charset=utf-8'); res.send({ result: true, message: 'ok' }); };
npm i --save @nestjs/swagger
During the examination of the defined controllers, the SwaggerModule is looking for all used @Body(), @Query(), and @Param() decorators in the route handlers.
import { NestFactory } from '@nestjs/core'; import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger'; import { ApplicationModule } from './app.module'; async function bootstrap() { const app = await NestFactory.create(ApplicationModule); const options = new DocumentBuilder() .setTitle('Cats example') .setDescription('The cats API description') .setVersion('1.0') .addTag('cats') .build(); const document = SwaggerModule.createDocument(app, options); SwaggerModule.setup('api', app, document); await app.listen(3001); } bootstrap();
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。