BadRequest

說明用戶端要求中的違規事項。這類錯誤著重於要求的語法層面。

JSON 表示法
{
  "fieldViolations": [
    {
      object (FieldViolation)
    }
  ]
}
欄位
fieldViolations[]

object (FieldViolation)

說明用戶端要求中的所有違規事項。

FieldViolation

用於說明單一錯誤要求欄位的訊息類型。

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

string

通往要求主體中欄位的路徑。這個值會是以半形句號分隔的 ID 序列,用於識別通訊協定緩衝區欄位。

請把握以下幾項重點:

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

上述語言代碼的本地化錯誤訊息。