mcp接口增加分页
This commit is contained in:
1 parent
7243319bbb
commit
7f4adad7b1
16 files changed
+1157
-281
No files matched your search
@@ -19,10 +19,10 @@
|
||||
```mermaid
|
||||
flowchart TD
|
||||
APP["internal/app\n依赖装配与 readiness"]
|
||||
H["internal/handler\nBearer、JSON-RPC、握手协商、schema、限流边界"]
|
||||
S["internal/service\n查询边界、超时、结果语义"]
|
||||
H["internal/handler\nBearer、JSON-RPC、握手协商、schema、分页边界"]
|
||||
S["internal/service\n查询边界、超时、分页与结果语义"]
|
||||
D["internal/domain\n稳定空间领域对象"]
|
||||
R["internal/repository\npgxpool、固定参数化 PostGIS SQL"]
|
||||
R["internal/repository\npgxpool、固定参数化 PostGIS SQL、过滤后总量"]
|
||||
DB["8 张既有 PostGIS 表"]
|
||||
|
||||
APP --> H
|
||||
@@ -37,6 +37,8 @@ flowchart TD
|
||||
|
||||
Handler 不知道物理表名,Repository 不组织自然语言回答,Domain 不依赖 MCP 或 pgx。可信数据范围在应用装配时由配置传入 Service,并由 Repository 在 SQL 中应用:默认 `town_allowlist` 使用参数化镇街数组过滤;显式 `all` 使用服务端布尔参数放开镇街过滤。范围选择不进入工具 schema,模型无法扩大权限。
|
||||
|
||||
七个工具共用无状态 `limit/offset` 分页。Handler 限制 `limit=1..20`、`offset=0..10000`;Service 应用各工具默认页大小并生成 `result_count`、`total_count`、`has_more` 和 `next_offset`;Repository 在授权范围、空间条件、有效几何和业务过滤完成后使用窗口统计总量,再以稳定排序执行参数化 `LIMIT/OFFSET`。请求超过末页且匹配总量大于零时,Repository 以同一只读查询条件探测第一页以恢复准确总量,响应保持 `status=ok` 和空 `data`,避免把“页码越界”误报为“没有记录”。
|
||||
|
||||
## 数据映射
|
||||
|
||||
| 领域结果 | 物理表 |
|
||||
|
||||
Reference in new issue
Block a user