如何构建可扩展的MAUI PicoServer REST API框架实现实战?

摘要:MAUI 嵌入式 Web 架构实战(三) 构建可扩展的 PicoServer REST API 框架 源码地址: https:github.comdensen2014MauiPicoAdmin 一、从简单 API 到可扩展架构 在上
MAUI 嵌入式 Web 架构实战(三) 构建可扩展的 PicoServer REST API 框架 源码地址: https://github.com/densen2014/MauiPicoAdmin 一、从简单 API 到可扩展架构 在上一篇文章 《MAUI 嵌入式 Web 架构实战(二)》 中,我们已经成功构建了多个 PicoServer API,例如: /api/time /api/product/list /api/product/detail 这些接口已经可以: 处理 HTTP 请求 返回 JSON 数据 支持简单的参数读取 例如: http://127.0.0.1:8090/api/product/list 返回: { "code":0, "message":"ok", "data":[] } 这意味着我们的 MAUI 应用已经具备了: 本地 REST API 服务能力 但随着接口数量增加,新的问题会逐渐出现: API 全部写在一个类中 HTTP 逻辑和业务逻辑混在一起 返回格式不统一 错误处理难以维护 例如: class PicoAdmin { ProductList() ProductDetail() ProductAdd() ProductDelete() } 当接口数量达到: 50+ 100+ 200+ 代码就会变得难以维护。 因此,本篇文章将对 PicoServer 进行一次 架构升级。 目标是构建一个: 可扩展的本地 REST API 框架结构 核心目标包括: API 模块化 Controller / Service 分层 统一返回结构 统一异常处理 清晰的项目结构 二、REST API 框架核心架构 升级后的 API 架构如下: HTTP Request │ ▼ PicoServer │ Router │ Controller │ Service │ Data / Device / Logic 各层职责: 层 作用 Router 路由分发 Controller HTTP 请求处理 Service 业务逻辑 Data / Device 数据或设备操作 这种结构与常见 Web 框架(如 ASP.NET Core)非常类似。 三、推荐项目目录结构 为了让 API 更易维护,可以采用如下结构: Server ├─ Controllers │ ├─ ProductController.cs │ └─ SystemController.cs │ ├─ Services │ └─ ProductService.cs │ ├─ Models │ └─ ApiResult.cs │ └─ PicoServerHost.cs 目录职责说明: 目录 作用 Controllers API 路由处理 Services 业务逻辑 Models 数据模型 PicoServerHost 服务器启动与路由注册 这种结构可以保持代码清晰、模块化。 四、统一 API 返回结构 在 API 系统中,统一返回格式非常重要。 我们先定义一个返回模型。
阅读全文