当客户端从 BFC API 接收到 400 或 5XX 错误时,生成的负载包含 driver_fault 记录。 driver_fault 记录包括以下字段:
|
字段 |
内容 |
注释 |
|
type |
内容为客户端|驱动程序|依存关系的 string() |
指明出错是由于客户端请求所致,还是驱动程序的内部原因,亦或是源自依存关系(在这种情况下,将在原因字段中传递其他信息,例如,在依存关系中生成的嵌套 driver_faults)。 |
|
subtype |
内容为缺失|冲突|意外的 string() |
指定调用是尝试针对缺失的资源进行操作,还是导致了 BFC 的内部冲突(例如,创建或更新可能产生重复的条目),亦或是意外调用(默认情况)。 由 BFCAPI 用于确保返回正确的 HTTP 响应代码。 例如,缺失子类型生成 404 HTTP 状态代码,而冲突生成 403 状态代码。 |
|
code |
string() 完全限定的 <tenant>/<component_name>.<fault>。 |
例如:bbc/grid_service.fault_required_field、bbc/grid_service.fault_runtime_error。 |
|
fmt |
带有引用参数的 {integer()} 的 string()。 |
例如:“无效网格名称 {0}”。 将用 args 字段的第一项替换 {0}。 |
|
args |
包含 [number()|string()|string()] 的列表 |
这些与 fmt 组合(通过替换)以创建错误消息。 |
|
path |
[integer()] |
代表指向问题所在的函数参数列表的路径。 如果第三个参数的第二个值出错,则路径为 [2,1]。 值从 0 开始,将元组参数视为列表,将记录视为列表并在路径中排除第一个参数(记录的名称)。 |
|
function |
内容为所调用函数的名称(及参数数量)的 string()。 |
例如:“createGrid/4”。 此示例表示已调用包含四个参数的 createGrid 函数。 |
|
dependency_id |
integer() |
发生故障的依存关系组件的组件 ID。 在 driver_fault type = dependency 指明请求正在利用其他组件或外部资源执行操作时传递。 |
|
reason |
[driver_fault()] |
包含任何嵌套故障错误。 |
|
details |
string() |
包含有关错误的更多详细信息。 例如,堆栈跟踪。 |
注意:保留为空时所有字段包含 JSON 值 null。
|
版权所有 © 2013 CA。
保留所有权利。
|
|