在这里插入图片描述

我为什么做 Lite API?

做 Java Web 开发这些年,我越来越烦一件事:

一个简单接口,要写:

  • Controller
  • Service
  • ServiceImpl
  • Mapper
  • Entity
  • VO
  • DTO
  • XML
  • 配置
  • Swagger

最后只是为了返回一句:

{"msg":"hello"}

大量时间浪费在:

  • CRUD
  • 重复结构
  • 模板代码
  • 对象搬运
  • 参数透传

于是我开始思考:

有没有一种方式,
不需要写 Controller,
不需要写 Service,
不需要 Mapper,
直接定义 API?

后来就有了:

Lite API

一个基于 JFinal 的轻量级 API 敏捷开发框架。


Lite API 到底是什么?

Lite API 的核心思想非常简单:

用 XML 描述 API,
用 Script 实现逻辑。

比如下面这个接口:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<api-group id="hello" name="Hello APIs" path="/doc/hello">
    <api id="world" method="GET" name="Hello World" path="/world">
        <script><![CDATA[
            return 'Hello, World!';
        ]]></script>
    </api>
</api-group>

直接生成:

GET /doc/hello/world

返回:

Hello, World!

没有:

  • Controller
  • Service
  • Dao
  • Mapper
  • Spring Bean

只有:

  • XML
  • Script
  • API

为什么我选择 XML?

很多人会问:

为什么不用注解?
为什么不用 YAML?
为什么不用 JSON?

因为 XML 有几个天然优势:

1. 结构表达能力强

API 本身就是树状结构:

  • group
  • api

XML 天然适合。


2. 非常适合动态加载

Lite API 支持:

  • 热更新
  • 动态编译
  • 无需重启

XML 在这种场景下非常稳定。


3. 更适合 DSL 化

未来我希望:

<select>

这种 DSL 会越来越强。

XML 比 JSON/YAML 更适合做领域语言。


Lite API 有什么特点?

1. 零编码开发

很多接口甚至不用写 Java。

直接 XML + Script:

<script>
return db.select(...)
</script>

即可完成业务。


2. 基于 JFinal

我一直觉得:

JFinal 是 Java 世界被低估的框架。

它:

  • 极简
  • 高性能
  • 启动快
  • 没有 Spring 那种巨大负担

Lite API 基于 JFinal 5.x 构建。


3. 动态脚本

基于 Magic-Script:

  • 即改即生效
  • 不重启
  • 动态执行

非常适合:

  • 后台系统
  • 中台
  • 内部接口
  • 快速交付

4. 多数据源

支持:

  • MySQL
  • PostgreSQL
  • Oracle
  • SQLServer

而且支持:

  • 在线配置
  • 动态切换

5. SQL 缓存

直接支持:

  • SQL Cache
  • 自定义缓存
  • 热点数据缓存

减少数据库压力。


Lite API 适合什么场景?

我认为特别适合:

中后台系统

大量 CRUD。


内部平台

快速迭代。


API 网关

统一聚合。


低代码平台

动态接口。


AI Agent 后端

AI 时代:

API 会越来越碎片化。

Lite API 非常适合:

  • 动态生成接口

和 SpringBoot 最大区别是什么?

SpringBoot:

@RestController
@RequestMapping("/user")
public class UserController {

}

Lite API:

<api path="/user/list">

SpringBoot 是:

Java 对象驱动开发。

Lite API 是:

API DSL 驱动开发。

这是两种完全不同的思路。


我为什么开源?

因为我发现:

现在 Java 后端越来越重。

但很多业务:

根本不需要那么重。

Lite API 更像:

一个 API Engine。

希望能给 Java 世界带来一些不同思路。


最后

Lite API 目前还在持续迭代。

如果你也厌倦了:

  • 写 CRUD
  • 搬砖
  • 套模板

欢迎一起交流。


更多推荐