BadRequest

تخلفات موجود در درخواست کلاینت را توصیف می‌کند. این نوع خطا بر جنبه‌های نحوی درخواست تمرکز دارد.

نمایش JSON
{
  "fieldViolations": [
    {
      object (FieldViolation)
    }
  ]
}
فیلدها
fieldViolations[]

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

در این مثال، field in proto می‌تواند یکی از مقادیر زیر را بپذیرد:

  • fullName برای نقض در مقدار fullName
  • email_addresses[1].email برای تخلف در فیلد email اولین پیام email_addresses
  • email_addresses[3].type[2] ‎ برای نقض مقدار type دوم در پیام سوم email_addresses .

در JSON، مقادیر مشابه به صورت زیر نمایش داده می‌شوند:

  • fullName برای نقض در مقدار fullName
  • emailAddresses[1].email برای تخلف در فیلد email اولین پیام emailAddresses
  • emailAddresses[3].type[2] ‎ برای نقض مقدار type دوم در پیام سوم emailAddresses .
description

string

توضیحی در مورد اینکه چرا عنصر درخواست بد است.

reason

string

دلیل خطای سطح فیلد. این یک مقدار ثابت است که علت تقریبی خطای سطح فیلد را مشخص می‌کند. باید به طور منحصر به فرد نوع FieldViolation را در محدوده google.rpc.ErrorInfo.domain مشخص کند. این مقدار باید حداکثر ۶۳ کاراکتر باشد و با یک عبارت منظم [AZ][A-Z0-9_]+[A-Z0-9] مطابقت داشته باشد که نشان دهنده UPPER_SNAKE_CASE است.

localizedMessage

object ( LocalizedMessage )

یک پیام خطای محلی برای خطاهای سطح فیلد ارائه می‌دهد که بازگشت آن به مصرف‌کننده API ایمن است.

پیام محلی‌شده

یک پیام خطای محلی ارائه می‌دهد که بازگشت آن به کاربر ایمن است و می‌تواند به یک خطای 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

پیام خطای محلی‌شده در زبان بالا.