H5W3
当前位置:H5W3 > JavaScript > 正文

【JS】egg参数校验

egg参数校验

幽辰发布于 今天 02:31

简单介绍

egg-router-auth 基于 apidoc 来构建参数校验

功能

  • 在egg项目中验证路由表中是否包含请求的url,如果请求了路由表中未存在的路由,则会提示相应信息
  • 在egg项目中验证在许可的路由中是否存在用户的jwt登录
  • 验证路由的参数

安装

npm i egg-router-auth --save

配置相关

文件目录配置

建议文件目录需按此配置

project
├── app
│   ├── controller
│   │   └── home.js
│   └── router.js
├── apidoc
│   └── output
|       └── api_data.json
│   └── template
|       └── api_data.json
|
|...

开启插件

// config/plugin.js
exports.auth = {
enable: true,
package: 'egg-router-auth',
};

配置

// config/config.default.js
config.auth = {
jwtExclude: ['/api/login', '/api/public/verification'], // 验证用户登录需要跳过的路由
errorCode: -2, // 错误的code,
output: 'apidoc/output', // apidoc输出目录,必选
template: 'apidoc/template' // apidoc模板,可选
}

使用

  // app/controller/home.js
/**
* @api {GET} /api/test 普通测试接口
* @apiParam {string} user 用户名
*/
async test() {
const { ctx } = this;
const res = '测试';
ctx.body = res;
}
/**
* @api {GET} /api/test 多参数类型测试接口
* @apiParam {string|null} user 用户名
*/
async test1() {
const { ctx } = this;
const res = '测试';
ctx.body = res;
}
/**
* @api {GET} /api/test 可选参数测试接口
* @apiParam {string} [user] 用户名
*/
async test2() {
const { ctx } = this;
const res = '测试';
ctx.body = res;
}
/**
* @api {GET} /api/test 复杂类型测试接口
* @apiParam {object} user 用户
* @apiParam {string} user.name 用户名
*/
async test3() {
const { ctx } = this;
const res = '测试';
ctx.body = res;
}

提问交流

请到 egg-router-auth issues 异步交流。

javascript前端eggjs
阅读 28发布于 今天 02:31
本作品系原创,采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议
avatar

幽辰
16 声望
0 粉丝

0 条评论
得票时间

avatar

幽辰
16 声望
0 粉丝

宣传栏

简单介绍

egg-router-auth 基于 apidoc 来构建参数校验

功能

  • 在egg项目中验证路由表中是否包含请求的url,如果请求了路由表中未存在的路由,则会提示相应信息
  • 在egg项目中验证在许可的路由中是否存在用户的jwt登录
  • 验证路由的参数

安装

npm i egg-router-auth --save

配置相关

文件目录配置

建议文件目录需按此配置

project
├── app
│   ├── controller
│   │   └── home.js
│   └── router.js
├── apidoc
│   └── output
|       └── api_data.json
│   └── template
|       └── api_data.json
|
|...

开启插件

// config/plugin.js
exports.auth = {
enable: true,
package: 'egg-router-auth',
};

配置

// config/config.default.js
config.auth = {
jwtExclude: ['/api/login', '/api/public/verification'], // 验证用户登录需要跳过的路由
errorCode: -2, // 错误的code,
output: 'apidoc/output', // apidoc输出目录,必选
template: 'apidoc/template' // apidoc模板,可选
}

使用

  // app/controller/home.js
/**
* @api {GET} /api/test 普通测试接口
* @apiParam {string} user 用户名
*/
async test() {
const { ctx } = this;
const res = '测试';
ctx.body = res;
}
/**
* @api {GET} /api/test 多参数类型测试接口
* @apiParam {string|null} user 用户名
*/
async test1() {
const { ctx } = this;
const res = '测试';
ctx.body = res;
}
/**
* @api {GET} /api/test 可选参数测试接口
* @apiParam {string} [user] 用户名
*/
async test2() {
const { ctx } = this;
const res = '测试';
ctx.body = res;
}
/**
* @api {GET} /api/test 复杂类型测试接口
* @apiParam {object} user 用户
* @apiParam {string} user.name 用户名
*/
async test3() {
const { ctx } = this;
const res = '测试';
ctx.body = res;
}

提问交流

请到 egg-router-auth issues 异步交流。

本文地址:H5W3 » 【JS】egg参数校验

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址