BadRequest

描述客户端请求中的违规行为。此类错误侧重于请求的语法方面。

JSON 表示法
{
  "fieldViolations": [
    {
      object (FieldViolation)
    }
  ]
}
字段
fieldViolations[]

object (FieldViolation)

描述客户端请求中的所有违规行为。

FieldViolation

用于描述单个错误请求字段的消息类型。

JSON 表示法
{
  "field": string,
  "description": string,
  "reason": string,
  "localizedMessage": {
    object (LocalizedMessage)
  }
}
字段
field

string

指向请求正文中字段的路径。此值是一个以点分隔的标识符序列,用于标识协议缓冲区字段。

请考虑以下事项:

message CreateContactRequest {
  message EmailAddress {
    enum Type {
      TYPE_UNSPECIFIED = 0;
      HOME = 1;
      WORK = 2;
    }

    optional string email = 1;
    repeated EmailType type = 2;
  }

  string fullName = 1;
  repeated EmailAddress email_addresses = 2;
}

在此示例中,在 proto 中,field 可以采用以下值之一:

  • fullName,用于 fullName 值中的违规情况
  • email_addresses[1].email 表示第一个 email_addresses 消息的 email 字段中存在违规行为
  • email_addresses[3].type[2],表示第三条消息中第二个 email_addresses 值的第二个 type 值存在违规情况。

在 JSON 中,相同的值表示为:

  • fullName,用于 fullName 值中的违规情况
  • emailAddresses[1].email 表示第一个 emailAddresses 消息的 email 字段中存在违规行为
  • emailAddresses[3].type[2],表示第三条消息中第二个 emailAddresses 值的第二个 type 值存在违规情况。
description

string

对请求元素存在问题的原因的说明。

reason

string

字段级错误的原因。这是一个常量值,用于标识字段级错误的直接原因。它应在 google.rpc.ErrorInfo.domain 的范围内唯一标识 FieldViolation 的类型。此值不得超过 63 个字符,并且必须与正则表达式 [A-Z][A-Z0-9_]+[A-Z0-9](表示 UPPER_SNAKE_CASE)匹配。

localizedMessage

object (LocalizedMessage)

针对字段级错误提供本地化错误消息,可安全地返回给 API 使用者。

LocalizedMessage

提供可安全返回给用户的本地化错误消息,该消息可附加到 RPC 错误。

JSON 表示法
{
  "locale": string,
  "message": string
}
字段
locale

string

所用语言区域遵循 https://www.rfc-editor.org/rfc/bcp/bcp47.txt 中定义的规范。例如:“en-US”“fr-CH”“es-MX”

message

string

上述语言区域中的本地化错误消息。