in swagger swagger-node-express MEAN mean框架 MEAN使用技巧 ~ read.

MEAN 使用技巧-1

MEAN 的swagger

  • 什么是 swagger

    swagger 是一个api文档生成的包。

  • MEAN的swagger

MEAN 是用了名为 swagger-node-express的包传送门

  • 怎么在MEAN框架中使用?

1.首先在自己的package里面 建立docs文件夹.
2.分别建立 services.js 和 models.js
3.编写services.js

'use strict';

exports.load = function(swagger, parms) {

  var getTester = {
    spec: {
      description: 'YOUR-DESCRIPTION',//api 描述
      path: '/YOUR-URI',//可以调用的地址
      summary: 'YOUR-SUMMARY',// 简单陈述 可以有空格
      notes: '',
      nickname: 'YOUR-NICKNAME',//别名 不能有空格
      produces: ['application/json'],//header 传输数据类型
      type : 'MODELS-NAME',//返回值类型,可以自定义,本例自定义
      parameters: [
      {
          name : "PARAM-NAME",// 在url中的参数 例子:/api/foo/:param
          paramType: "path",// 参数在url中
          description: "DESCRIPTION",//对参数的描述
          required: true,//是不是必填
          type:"string"//参数类型
      },
      {
          name : "PARAM-NAME",// 在url中的参数 例子:/api/foo?q=xxx
          paramType: "query",// 参数在?后
          description: "DESCRIPTION",
          required: false,
          type : "string"
      },
      ...
      ]
    }
  };

//这里面有 addPost,addPut, addDelete等方法 根据需要调用
  swagger.addGet(getTester);
};

4.编写models.js

exports.models = {  
  MODELS-NAME: {//类型的名称
    id: 'MODELS-ID',//类型的id 最好与名称一致
    required: ['name', 'id', 'link'],//必须的字段
    properties: {//返回类型的属性
      name: {
        type: 'string',//返回值类型
        description: 'Name的描述'//描述
      },
      id: {
        type: 'string',
        description: 'id的描述'
      },
      link: {
        type: 'string',
        description: 'url的描述'
      },
      status:{
        type: 'array',
        description: 'status的描述'
      }
    }
  }
};

5.对相关字段的描述和解释

传送门 v1.2

传送门 v2.0

6.集成到自己的package里面

Yourpackage.register(function(app, swagger) {  
  Yourpackage.routes(app);

  Service.init();

  swagger.add(__dirname);//添加此句

  return Yourpackage;
});