关于大前端:只需几行代码快速编写crud接口

背景

随着互联网的疾速倒退,开发软件越来越考究效率,无论是各种跨端框架如:electron uni-app,还是近期比拟炽热服务端的serverless,都是随同着这个趋势而生。

疾速开发后盾

事实上后盾在开发中存在大量的反复的工作,有些程序员甚至自嘲是crud(增删改查)开发者。cool团队原先在开发软件的时候也碰到了相似的问题。刚好随同着阿里巴巴团midway2.0的公布。它是一个既能够开发一般利用,又能够将利用公布打包公布部署为serverless。咱们在此基础上封装了一个疾速开发后盾的框架cool-admin。

疾速开发

定义一个表

/**
 * 商品
 */
@EntityModel('demo_app_goods')
export class DemoAppGoodsEntity extends BaseEntity {

    @Column({ comment: '题目' })
    title: string;

    @Column({ comment: '图片' })
    pic: string;

    @Column({ comment: '价格', type: 'decimal', precision: 5, scale: 2 })
    price: number;

}

编写接口

import { Provide } from '@midwayjs/decorator';
import { CoolController, BaseController } from 'midwayjs-cool-core';
import { DemoAppGoodsEntity } from '../../entity/goods';

/**
 * 商品
 */
@Provide()
@CoolController({
  api: ['add', 'delete', 'update', 'info', 'list', 'page'],
  entity: DemoAppGoodsEntity
})
export class DemoAppGoodsController extends BaseController {
  /**
   * 其余接口
   */
  @Get('/other')
  async other() {
    return this.ok('hello, cool-admin!!!');
  }
}

这样咱们就实现了6个接口的编写,对应的接口如下:

  • POST /app/demo/goods/add 新增
  • POST /app/demo/goods/delete 删除
  • POST /app/demo/goods/update 更新
  • GET /app/demo/goods/info 单个信息
  • POST /app/demo/goods/list 列表信息
  • POST /app/demo/goods/page 分页查问(蕴含含糊查问、字段全匹配等)

开源收费

为了分享咱们的成绩,咱们把它开源了,让宽广开发者也能疾速开发,分心业务。

  • 后端

https://github.com/cool-team-…

https://gitee.com/cool-team-o…

  • 前端

https://github.com/cool-team-…

https://gitee.com/cool-team-o…

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理