我的服务器连接到多个机器视觉摄像机,我正在创建一个REST,使用它执行一些操作,例如检测可见的QR代码、校准白平衡和捕获图像。
其中一些操作可能失败(对于一个或多个摄像机),我想知道最合适的HTTP响应来向客户端报告这一点。
例如,从多个摄像机读取QR代码的请求:
POST /api/camera/readQrCode
{...JSON body identifies the cameras to use...}(n.b.POST是因为它用读取内容的详细信息更新服务器状态)
这一请求可能由于若干原因而失败,其中包括:
404 Not Found在这里似乎很明智),特别是#2和#3,我想知道最好的处理方法。到目前为止,我想出的最好的方法是返回一个200 OK响应并发送一个JSON响应,该响应描述每个摄像机的总体成功情况和单个状态,如下所示:
{
success: false,
cameraResults: [
{"cameraId": "123", success: true},
{"cameraId": "456", success: false},
]
}使用2xx代码并不一定正确,#2或#3客户端错误(4xx)也不一定正确,而且我看不到任何合适的5xx代码。我很想听听其他人认为这里的传统是什么。
谢谢
发布于 2021-02-10 21:29:59
最后,我提出了我在最后提出的解决方案,这一点现在已经足够了:
200 OK响应和表单的结果对象
{
success: false,
cameraResults: [
{"cameraId": "123", success: true},
{"cameraId": "456", success: false},
]
}https://stackoverflow.com/questions/66050669
复制相似问题