指示来自与机器视觉相机(或任何外部设备)交互的 Web API 的 HTTP 响应失败
Indicate failure in HTTP response from web API that interacts with machine vision cameras (or any external device)
我的服务器连接到多个机器视觉相机,我正在创建一个 REST API,使用它们执行一些操作,例如检测可见的二维码、校准白平衡和捕获图像。
其中一些操作可能会失败(对于一台或多台摄像机),我想知道最合适的 HTTP 响应用于将此报告给客户端。
例如请求读取多个摄像头的二维码:
POST /api/camera/readQrCode
{...JSON body identifies the cameras to use...}
(n.b。POST
是因为它使用读取内容的详细信息更新服务器状态)
此请求可能因多种原因而失败,包括:
- 请求的相机不可用(
404 Not Found
在这里似乎很合理)
- 任何相机都无法捕捉图像
- 任何摄像头都无法检测到二维码
特别是#2 和#3,我想知道最好的处理方式。到目前为止,我想出的最好办法是 return 一个 200 OK
响应并发送一个 JSON 响应来描述每个相机的整体成功和个人状态,例如:
{
success: false,
cameraResults: [
{"cameraId": "123", success: true},
{"cameraId": "456", success: false},
]
}
只是觉得使用 2xx
代码不一定正确,#2 或 #3 客户端错误 (4xx
) 也不是,而且我看不到任何合适的 5xx
代码。我很想听听其他人会认为这里的传统做法是什么。
谢谢
最后我采用了我最后提出的解决方案,现在已经足够好了:
200 OK 响应和表单的结果对象
{
success: false,
cameraResults: [
{"cameraId": "123", success: true},
{"cameraId": "456", success: false},
]
}
我的服务器连接到多个机器视觉相机,我正在创建一个 REST API,使用它们执行一些操作,例如检测可见的二维码、校准白平衡和捕获图像。
其中一些操作可能会失败(对于一台或多台摄像机),我想知道最合适的 HTTP 响应用于将此报告给客户端。
例如请求读取多个摄像头的二维码:
POST /api/camera/readQrCode
{...JSON body identifies the cameras to use...}
(n.b。POST
是因为它使用读取内容的详细信息更新服务器状态)
此请求可能因多种原因而失败,包括:
- 请求的相机不可用(
404 Not Found
在这里似乎很合理) - 任何相机都无法捕捉图像
- 任何摄像头都无法检测到二维码
特别是#2 和#3,我想知道最好的处理方式。到目前为止,我想出的最好办法是 return 一个 200 OK
响应并发送一个 JSON 响应来描述每个相机的整体成功和个人状态,例如:
{
success: false,
cameraResults: [
{"cameraId": "123", success: true},
{"cameraId": "456", success: false},
]
}
只是觉得使用 2xx
代码不一定正确,#2 或 #3 客户端错误 (4xx
) 也不是,而且我看不到任何合适的 5xx
代码。我很想听听其他人会认为这里的传统做法是什么。
谢谢
最后我采用了我最后提出的解决方案,现在已经足够好了:
200 OK 响应和表单的结果对象
{
success: false,
cameraResults: [
{"cameraId": "123", success: true},
{"cameraId": "456", success: false},
]
}