错误处理
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
对此规范中定义的所有错误使用 400 Bad Request
状态代码。对于所有其他错误,制造商应使用 4XX 范围内的错误表示客户端错误,使用 5XX 范围内的错误表示服务器错误。对于所有错误情况,响应都应始终包含以下格式的 JSON 正文:
{
"name": "camera.info",
"state": "error",
"error": {
"code": "serverError",
"message": "cannot get camera info."
}
}
name
可以是 camera.info
、camera.state
、camera.checkForUpdates
、
camera.commands.status
和 camera.commandName
。
- 对于 400 状态代码,
code
应为以下值之一:unknownCommand
;
cameraInExclusiveUse
、missingParameter
、invalidParameterName
或
invalidParameterValue
。
message
由制造商定义,不会进行本地化
消息。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-25。
[null,null,["最后更新时间 (UTC):2025-07-25。"],[[["\u003cp\u003eAlways use the \u003ccode\u003e400 Bad Request\u003c/code\u003e status code for errors defined in the specification and appropriate 4XX or 5XX codes for other client or server errors, respectively.\u003c/p\u003e\n"],["\u003cp\u003eAll error responses must include a JSON body with \u003ccode\u003ename\u003c/code\u003e, \u003ccode\u003estate\u003c/code\u003e, and an \u003ccode\u003eerror\u003c/code\u003e object containing \u003ccode\u003ecode\u003c/code\u003e and \u003ccode\u003emessage\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eerror.code\u003c/code\u003e field uses predefined values for 400 errors (\u003ccode\u003eunknownCommand\u003c/code\u003e, \u003ccode\u003ecameraInExclusiveUse\u003c/code\u003e, \u003ccode\u003emissingParameter\u003c/code\u003e, \u003ccode\u003einvalidParameterName\u003c/code\u003e, \u003ccode\u003einvalidParameterValue\u003c/code\u003e) while manufacturers define the \u003ccode\u003eerror.message\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ename\u003c/code\u003e field identifies the specific request, such as \u003ccode\u003ecamera.info\u003c/code\u003e or \u003ccode\u003ecamera.commands.status\u003c/code\u003e, associated with the error.\u003c/p\u003e\n"]]],["Error responses must include a JSON body with \"name,\" \"state,\" and \"error\" fields. For specified errors, use the `400 Bad Request` status code, otherwise, employ 4XX for client and 5XX for server errors. The \"name\" field can be one of several camera-related identifiers. \"Code\" within the error object must be one of five predefined error codes for 400 responses. The \"message\" field is free-form, manufacturer-defined, and non-localized.\n"],null,["# Error handling\n\nUse the `400 Bad Request` status code for all errors defined in this specification. For all other errors, manufacturers should use errors in the 4XX range for client errors, and the 5XX range for server errors. The response should always include a JSON body in the following format for ***all*** error cases: \n\n {\n \"name\": \"camera.info\",\n \"state\": \"error\",\n \"error\": {\n \"code\": \"serverError\",\n \"message\": \"cannot get camera info.\"\n }\n }\n\n- `name` can be any of `camera.info`, `camera.state`, `camera.checkForUpdates`, `camera.commands.status`, and `camera.commandName`.\n- `code` should be one of the following for 400 status code:`unknownCommand`, `cameraInExclusiveUse`, `missingParameter`, `invalidParameterName`, or `invalidParameterValue`.\n- `message` is defined by manufacturers and is not expected to be a localized message."]]