首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >REST设计-关于集合中项的附加信息

REST设计-关于集合中项的附加信息
EN

Stack Overflow用户
提问于 2018-06-08 07:02:47
回答 1查看 35关注 0票数 0

在端点/servers有一个集合,它返回关于所有服务器的信息:

代码语言:javascript
复制
{
    uid: "5t7yu8i9io0op",
    service_name: "Service Test",
    dc: "dc1",
    sync: true
}

这是一个简单的端点,只需要从后端命中db。但是服务器有很多关于他们的附加信息,f.e。heath状态(后端的更多工作)。因此,如果我想检查一台服务器的运行状况,我点击端点/servers/:uid/health,得到:

代码语言:javascript
复制
{
    overall_status: "HEALTH_OK",
    warnings: [],
    errors: []
}

但是现在我的问题是,我想从所有的服务器上得到健康检查,那么这样的API应该是什么样的呢?应该是服务器/健康吗,/healthchecks?或者它应该嵌入到主集合中,比如: /servers?health=true?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-08 09:07:34

假设:服务请求可能知道服务器名称、ids或主机名。为了简洁起见,让我们称它为serverId

然后,您就可以像这样设计api

对你的问题提出了解决方案

代码语言:javascript
复制
/servers/health/{serverId}

与serverId不同,传递'ALL‘这样的文本,您就知道api将如何响应。

对于大多数交互端点,该请求的创建非常简单,而且在理想情况下,它应该在不到1秒内返回响应。

附加用例

这个端点导致了另一个场景的潜在用例:,如果需要对所标识的服务器子集进行健康检查,怎么办?

在{ serverID }的端点请求中使用文本“子集”,并在请求体中传递serverID的子集。

不用说,获取健康状态的预期方法将包括生成不同的线程来获取每个服务器的健康状况,并将结果合并到一个响应中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50755119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档