假设您正在获取一些与学生关联的元数据,并且您正在设计一个 REST Web 服务来执行此操作。 显然,您可以为每个学生做一个 GET,但您更愿意一次获得所有学生。 假设 ID 和学生人数"太长"。 也就是说,我们可能会查询 200 名学生,每个学生的 ID 长度为 32 个字符,远远超出了安全的 URL 长度。
您将如何克服这个问题?
一种方法是使用 PUT 或 POST 并传入带有学生 ID 的数据结构。 你会选择哪个?
如果选择这种方法,您会给这样的服务起什么名字?
还有其他选择吗?
一个接一个的 GET-ting 当然不是一个很好的解决方案。
我会使用 POST,学生 ID 在 JSON 数组中。类似的东西
[{"id":"32charstudentId1"},
{"id":"32charstudentId2"},
{"id":"32charstudentId3"}]
这在后端迭代相当容易,并且可以很好地完成工作。反应可能是这样的
[
{
"id":"32charstudentId1",
"meta1":"some info",
"meta2": "some more info"
},
{
"id":"32charstudentId2",
"meta1":"some info",
"meta2": "some more info"
},
{
"id":"32charstudentId3",
"meta1":"some info",
"meta2": "some more info"
}]
服务的名称实际上取决于它为您提供的实用程序。要通用,您可以简单地将其称为类似 "获取学生详细信息"
我想,带有学生ID的简单数组也可以正常工作。
一种(有点粗糙的)替代方案可能是发送带有字符串中学生 ID 的 POST,由您选择的分隔符分隔,我更喜欢分号 (;)。