egg-swagger文档编写规范

官网地址:egg-swagger-doc-feat

标题demo1

router.js

app.delete(
    '/api/A/B/deleteOne/:id',
    'A.B.deleteOne',
  );

controller/B.js

  /**
   * @Summary 删除
   * @description: 根据id删除
   * @Router DELETE /A/B/deleteOne/{id}
   * @Request path string *id id
   * @request query string parameter 参数
   * @Response 200 baseResponse
   */
  async deleteResult(ctx: any) {
  const { id } = ctx.params;
  const { parameter } = ctx.request.query;
  ...
  }

标题demo2

前端调用

`/api/upload?type=${this.state.typeTool}`

router.js

app.delete(
    '/api/upload',
    'upload',
  );

controller/B.js

  /**
   * @summary 上传附件
   * @description 附加上传测试
   * @router post /upload
   * @request query string *type 文件类型
   * @request formData file *file 工具更新包
   * @response 200 baseResponse
   */
  async uploadTool(ctx: any) {
    const { type } = ctx.query;
    const { filepath, filename } = ctx.request.files[0];
    ...
    }

标题demo3

前端调用

await request('/api/C/D/unit', {
    method: 'POST',
    data,
  });

controller/D.js

  /**
   * @Summary 单位创建
   * @Router POST /C/D
   * @Request body unitBody *body 创建参数
   * @Response 200 baseResponse
   */
  async create(ctx: any) {
    const { body } = ctx.request;

    try {
      ctx.validate(ctx.rule.unitBody, body);
    } catch (err) {
      ctx.badRequest({ data: err.errors });
      return;
    }
    ...
   }

contract/c.js

  unitBody: {
    unitName: {
      type: 'string',
      required: true,
      example: '单位1',
    },
    }

版权声明:本文为qq_41662017原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。