# MoonURITemplate 十月项目申报书（申请人核实并人工定稿）
- 项目名称：MoonURITemplate：MoonBit RFC 6570 URI Template 展开库
- 参赛者：
- 联系方式：
- GitHub 仓库：https://github.com/oyjh0381/MoonUriTemplate （公开默认分支须在申报前核验）
- 方向与来源：新生态项目建设；原创 MoonBit 库，Apache-2.0；官方测试向量的来源和许可另见 THIRD_PARTY.md。
## 项目定位与通用性
MoonBit 已有 URI 解析及简单路径匹配包，但业务仍需按 RFC 6570 将标量、列表与关联数组正确展开成 URI 引用。手工拼接常在斜杠、空格、Unicode、可选参数和百分号编码上产生不兼容链接。本项目提供可复用的 Level 1–4 展开内核，不负责 URI 解析或请求发送；现有包与本库的职责差异已记录，正式申报前复查 mooncakes.io。
## 预期使用场景
1. **API SDK**：把 /users/{id}{?fields*,limit} 编译一次，代入 team/a、字段列表和分页参数，为多次请求生成路径斜杠安全编码的链接；批量生成前预检总输出预算。
2. **MCP 资源**：客户端收到服务端资源模板，按用户选定目录和文件名展开 URI；未定义值和特殊字符遵循 RFC 6570，而不是为每类资源重写拼接逻辑。
3. **超媒体响应**：内容服务对订单编号和语言参数重复展开命名端点目录；配置字段改名时先反查引用该变量的模板，再对单模板执行契约差异分析。
4. **接口测试**：测试工具从同一模板和多组 JSON 参数生成可复现请求地址，用输出位置诊断定位不合法变量或预算超限。
## 核心功能与实现路径
- 一次扫描编译模板 AST，按 RFC 6570 运算符表处理 8 种运算符、前缀与 explode；UTF-8 百分号编码，支持标量、列表、关联数组和成员级未定义值。
- 提供静态变量/策略分析、JSON 桥接、命名目录、部分绑定、位置诊断、精确单链接长度预检及输入/输出限额；以固定来源的 270 条符合性向量和跨后端测试校验。
- 十月新增：目录级 `measure_requests` 对混合请求批量预检精确总长度；`templates_using` 反查字段变更影响的端点。交付 README、示例、CI、Apache-2.0 和第三方材料说明。
- 不做 URI 反向匹配、HTTP 发送、通用 URI 解析或完整 OpenAPI 参数序列化。运行代码原创；申请人需核实测试、仓库、来源后人工定稿。
