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: StringA 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_namefor a violation in thefull_namevalueemail_addresses\[1\].emailfor a violation in theemailfield of the firstemail_addressesmessageemail_addresses\[3\].type\[2\]for a violation in the secondtypevalue in the thirdemail_addressesmessage.
In JSON, the same values are represented as:
fullNamefor a violation in thefullNamevalueemailAddresses\[1\].emailfor a violation in theemailfield of the firstemailAddressesmessageemailAddresses\[3\].type\[2\]for a violation in the secondtypevalue in the thirdemailAddressesmessage.
description: StringA description of why the request element is bad.
reason: StringThe 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§impl From<FieldViolation> for FieldViolation
impl From<FieldViolation> for FieldViolation
Source§fn from(value: FieldViolation) -> Self
fn from(value: FieldViolation) -> Self
Source§impl From<FieldViolation> for FieldViolation
impl From<FieldViolation> for FieldViolation
Source§fn from(value: FieldViolation) -> Self
fn from(value: FieldViolation) -> Self
Source§impl Hash for FieldViolation
impl Hash for 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 Eq 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