给你的Egg来一打SwaggerUi(可测试的接口文档,问你心不心动)
Lady and gentleman,让我们庆祝 蛋壳 v1.0.4 版本的发布~
具体的使用方式请查看文档
该新版本主要集成了swagger-ui,让我们来秀上一波:
import { Controller } from 'egg';
import { Post, IgnoreJwtAll, Description, TagsAll,
Parameters, Responses } from 'egg-shell-decorators';
const USER_SCHEMA = {
type: 'object',
properties: {
name: { type: 'string', description: '姓名' },
phone: { type: 'string', description: '手机号码' },
age: { type: 'integer', format: 'int32', description: '年龄' }
}
};
@TagsAll('用户')
@IgnoreJwtAll
export default class SubOrderController extends Controller {
@Post('/')
@Description('创建用户')
@Parameters([
{ name: 'body', in: 'body', required: true, schema: USER_SCHEMA }
])
@Responses(USER_SCHEMA)
public listUser({ body: { name, phone, age } }) {
return { name, phone, age };
}
}
上面代码会生成以下的文档:
可测试的噢!阿~这是心动的感觉~
觉得上面的代码侵入性太强?没问题,路由映射
帮你搞定:
// app/controller/user.ts
import { Controller } from 'egg';
import { Post, IgnoreJwtAll, TagsAll } from 'egg-shell-decorators';
@TagsAll('用户')
@IgnoreJwtAll
export default class UserController extends Controller {
@Post('/')
public listUser({ body: { name, phone, age } }) {
return { name, phone, age };
}
}
// swagger/user.json
{
"/": {
"post": {
"description": "创建用户",
"parameters": [
{ "name": "body", "in": "body", "required": true, "schema": { "$ref": "User" } }
],
"responses": { "type": "object", "schema": { "$ref": "User" } }
}
}
}
具体的使用方式请查看文档
觉得不错就请作者喝杯咖啡(速溶)️☕️
给个小星星也是可以的~😘
加入小组来面基~
由于本人很少上QQ,所以建的是微信群,而微信群码很快就失效,所以想进交流群的小伙伴加我微信噢~我拉你进群,欢迎大佬们加入😁