面向声明式api编程(DAP)

DAP是Mars-java 最近提出的一个新的开发方式,全称 Declarative API Programming, 提倡后端为一个独立的整体,不应该是为前端服务的,所以当前端需要接口的时候,只需要声明一个API给他,而不需要专门开发一个Controller出来

DAP详细介绍

按照传统的开发方式,如果要开发一个后端接口,需要分为以下三步

  1. 创建controller
  2. 创建service
  3. 创建dao(甚至会创建存放sql的xml)

但是,我们编写一个接口,重点应该是放在业务逻辑上的,也就是说 我们的关注点应该在第二步,而且Controller跟前端的耦合性也非常的高,所以出现了一个新玩法,这套新玩法就叫声明式API

  1. 写业务逻辑
  2. 声明一个API给前端
  3. 将API与业务逻辑关联

编写业务逻辑

python api认证(面向声明式API编程)(1)

声明一个API接口

python api认证(面向声明式API编程)(2)

将api与业务逻辑关联

python api认证(面向声明式API编程)(3)

对,你没看错,API的方法和他引用的那个方法,参数列表可以不一样, 框架会自动把API的参数的值赋值到引用的那个方法的参数列表

引用的方法甚至可以无参,参数目前只支持自定义对象和Map

这么做的好处,可以散藕

  1. 通过更换MarsReference的配置,可以关联到不同的业务逻辑
  2. 如果前端不需要这个接口了,直接无脑删就好了,因为这只是一个抽象方法,还原成本几乎为0
  3. 后端专注业务逻辑就好了,不需要考虑跟前端互动,前端需要的时候开个门就好了

项目目录规范

为了更好地发挥出这个架构的优势,所以制定了一个规范,仅对项目的模块划分做出了规范,其他遵循jvm和自己所在的公司即可

下面用缩进来表示树形结构

python api认证(面向声明式API编程)(4)

Mars-java官网:http://www.mars-framework.com/

,