Skip to content

HTTP 错误码

失败响应使用同一结构,并带有 Cache-Control: no-store

json
{
  "ok": false,
  "error": {
    "code": "INVALID_SHARE_URL",
    "message": "The share URL is not a valid Milanote public board link."
  }
}

字段选择器报错时,error 还可能包含 field: "include"field: "exclude"。这个字段是可选的,其他错误通常不会返回它。

HTTPcode含义
400INVALID_REQUEST查询参数缺失、重复、过长、包含未知参数,或筛选参数组合冲突
400INVALID_SHARE_URLURL 不是合法的 Milanote 公开分享链接
400INVALID_FIELD_SELECTORinclude/exclude 为空、语法错误、未知、过多、过深,或请求了敏感字段
404BOARD_NOT_FOUND上游确认画板不存在
404NOT_FOUNDAPI 路由不存在
405METHOD_NOT_ALLOWED端点不支持该 HTTP 方法
502UPSTREAM_ERRORMilanote 暂时不可达、拒绝访问,或返回的数据无法解析
500INTERNAL_ERROR未预期的服务端错误

例如,选择了未知字段:

json
{
  "ok": false,
  "error": {
    "code": "INVALID_FIELD_SELECTOR",
    "message": "Unknown field selector: board.password",
    "field": "exclude"
  }
}

include + excludeview + include 等冲突属于 INVALID_REQUEST,不是字段选择器错误。为避免泄露信息,错误响应不会回显输入链接、permission ID、token 或上游详情。

Milanote 上游接口未公开;生产环境请做好兼容性预案。