/api/db/.../byindex/eq/field/elem
允许对数组、向量、序列和结构体进行元素访问。通过其编号 field_no 来标识字段,该编号可以从类模式中获取。由 index_no 指定的索引必须是唯一的。对于结构体,elem_index 指定要访问的字段的 field_no。
它对 HTTP GET、DELETE 和 PATCH 执行以下操作:
- GET:返回元素或结构字段的值。
- DELETE:如果 field_no 指向序列,则删除单个元素。如果 field_no 指向结构,则如果字段可为空,则写入空值,如果字段为可选结构,则删除该字段。
- PATCH:覆盖元素的值。
对于具有自动标识符的类
/api/db/<dbname>/classes/<struct_no>/byautoid/eq/<key>/field/<field_no>/at/<elem_index> 用于具有自定义自动 ID 的类。
GET
GET 请求返回元素或结构字段的值。返回的 JSON 对象包含一个键值对:键和值。例如:
GET http://localhost:8083/api/db/xsqldb/classes/2/byindex/1/eq/1/field/1/at/0
该值根据为 /api/db/<数据库名称>/classes/<结构编号>/byindex/<索引编号>/list 端点定义的规则进行格式化,并支持相同的查询参数。
DELETE
如果 field_no 指向的是结构体,则 DELETE 请求会将可为空的字段写入空值;如果指向的是可选结构体,则会删除该字段。如果 field_no 指向的是序列,则会删除单个元素。请注意,此方法不适用于数组和向量。
PATCH
PATCH 请求会覆盖元素的值。它接受一个包含单个键值对的 JSON 对象,键名为 value:
例如:
PATCH http://localhost:8083/api/db/xsqldb/classes/2/byindex/1/eq/1/field/1/at/0
{
"value": 100
}
该值的格式与 /api/db/<dbname>/classes/<struct_no> 端点的 POST 方法的格式相同,并且适用相同的限制条件。