BadRequest

Mô tả các lỗi vi phạm trong yêu cầu của ứng dụng. Loại lỗi này tập trung vào các khía cạnh cú pháp của yêu cầu.

Biểu diễn dưới dạng JSON
{
  "fieldViolations": [
    {
      object (FieldViolation)
    }
  ]
}
Trường
fieldViolations[]

object (FieldViolation)

Mô tả tất cả các lỗi vi phạm trong một yêu cầu của máy khách.

FieldViolation

Một loại thông báo dùng để mô tả một trường yêu cầu không hợp lệ.

Biểu diễn dưới dạng JSON
{
  "field": string,
  "description": string,
  "reason": string,
  "localizedMessage": {
    object (LocalizedMessage)
  }
}
Trường
field

string

Đường dẫn dẫn đến một trường trong nội dung yêu cầu. Giá trị này sẽ là một chuỗi các giá trị nhận dạng được phân tách bằng dấu chấm để xác định một trường vùng đệm giao thức.

Hãy cân nhắc thực hiện những bước sau:

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;
}

Trong ví dụ này, trong proto field có thể nhận một trong các giá trị sau:

  • fullName cho lỗi vi phạm trong giá trị fullName
  • email_addresses[1].email cho một lỗi vi phạm trong trường email của tin nhắn email_addresses đầu tiên
  • email_addresses[3].type[2] cho lỗi vi phạm ở giá trị type thứ hai trong thông báo email_addresses thứ ba.

Trong JSON, các giá trị tương tự được biểu thị như sau:

  • fullName cho lỗi vi phạm trong giá trị fullName
  • emailAddresses[1].email cho một lỗi vi phạm trong trường email của tin nhắn emailAddresses đầu tiên
  • emailAddresses[3].type[2] cho lỗi vi phạm ở giá trị type thứ hai trong thông báo emailAddresses thứ ba.
description

string

Nội dung mô tả lý do khiến phần tử yêu cầu không hợp lệ.

reason

string

Lý do gây ra lỗi ở cấp trường. Đây là một giá trị hằng số xác định nguyên nhân gần nhất gây ra lỗi ở cấp trường. Giá trị này phải xác định duy nhất loại FieldViolation trong phạm vi của google.rpc.ErrorInfo.domain. Tên này chỉ được dài tối đa 63 ký tự và phải khớp với biểu thức chính quy [A-Z][A-Z0-9_]+[A-Z0-9], biểu thị UPPER_SNAKE_CASE.

localizedMessage

object (LocalizedMessage)

Cung cấp thông báo lỗi đã bản địa hoá cho các lỗi ở cấp trường mà người dùng API có thể nhận được một cách an toàn.

LocalizedMessage

Cung cấp một thông báo lỗi đã được bản địa hoá và an toàn để trả về cho người dùng, thông báo này có thể được đính kèm vào một lỗi RPC.

Biểu diễn dưới dạng JSON
{
  "locale": string,
  "message": string
}
Trường
locale

string

Ngôn ngữ được dùng theo quy cách được xác định tại https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Ví dụ: "en-US", "fr-CH", "es-MX"

message

string

Thông báo lỗi được bản địa hoá theo ngôn ngữ ở trên.