pub struct FieldViolation {
pub field: String,
pub description: String,
pub reason: String,
pub localized_message: Option<LocalizedMessage>,
}
Expand description
A message type used to describe a single bad request field.
Fields§
§field: String
A path that leads to a field in the request body. The value will be a sequence of dot-separated identifiers that identify a protocol buffer field.
Consider the following:
message CreateContactRequest {
message EmailAddress {
enum Type {
TYPE_UNSPECIFIED = 0;
HOME = 1;
WORK = 2;
}
optional string email = 1;
repeated EmailType type = 2;
}
string full_name = 1;
repeated EmailAddress email_addresses = 2;
}
In this example, in proto field
could take one of the following values:
full_name
for a violation in thefull_name
valueemail_addresses\[1\].email
for a violation in theemail
field of the firstemail_addresses
messageemail_addresses\[3\].type\[2\]
for a violation in the secondtype
value in the thirdemail_addresses
message.
In JSON, the same values are represented as:
fullName
for a violation in thefullName
valueemailAddresses\[1\].email
for a violation in theemail
field of the firstemailAddresses
messageemailAddresses\[3\].type\[2\]
for a violation in the secondtype
value in the thirdemailAddresses
message.
description: String
A description of why the request element is bad.
reason: String
The reason of the field-level error. This is a constant value that
identifies the proximate cause of the field-level error. It should
uniquely identify the type of the FieldViolation within the scope of the
google.rpc.ErrorInfo.domain. This should be at most 63
characters and match a regular expression of [A-Z][A-Z0-9_]+\[A-Z0-9\]
,
which represents UPPER_SNAKE_CASE.
localized_message: Option<LocalizedMessage>
Provides a localized error message for field-level errors that is safe to return to the API consumer.
Trait Implementations§
Source§impl Clone for FieldViolation
impl Clone for FieldViolation
Source§fn clone(&self) -> FieldViolation
fn clone(&self) -> FieldViolation
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for FieldViolation
impl Debug for FieldViolation
Source§impl Default for FieldViolation
impl Default for FieldViolation
Source§fn default() -> FieldViolation
fn default() -> FieldViolation
Source§impl Message for FieldViolation
impl Message for FieldViolation
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.Source§impl PartialEq for FieldViolation
impl PartialEq for FieldViolation
impl StructuralPartialEq for FieldViolation
Auto Trait Implementations§
impl Freeze for FieldViolation
impl RefUnwindSafe for FieldViolation
impl Send for FieldViolation
impl Sync for FieldViolation
impl Unpin for FieldViolation
impl UnwindSafe for FieldViolation
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request