Índice
HttpBody(mensaje)
HttpBody
Mensaje que representa un cuerpo HTTP arbitrario. Solo debería usarse para formatos de carga útil que no pueden representarse como JSON, por ejemplo, datos binarios sin procesar o una página HTML.
Este mensaje se puede usar en métodos de API de transmisión y de no transmisión, en la solicitud y en la respuesta.
Se puede usar como campo de solicitud de nivel superior, lo que resulta conveniente si quieres extraer parámetros de la plantilla de URL o HTTP para los campos de solicitudes y también quieres acceder al cuerpo HTTP sin procesar.
Ejemplo sin métodos de transmisión:
message GetResourceRequest {
// A unique request id.
string request_id = 1;
// The raw HTTP body is bound to this field.
google.api.HttpBody http_body = 2;
}
service ResourceService {
rpc GetResource(GetResourceRequest)
returns (google.api.HttpBody);
rpc UpdateResource(google.api.HttpBody)
returns (google.protobuf.Empty);
}
Ejemplo con métodos de transmisión:
service CaldavService {
rpc GetCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);
rpc UpdateCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);
}
El uso de este tipo solo cambia la manera en que se manejan los cuerpos de la solicitud y la respuesta. Todas las demás funciones siguen funcionando sin cambios.
| Campos | |
|---|---|
content_ |
El valor del encabezado HTTP de Content-Type que especifica el tipo de contenido del cuerpo. |
data |
El cuerpo de la solicitud o respuesta HTTP como objeto binario sin procesar. |
extensions[] |
Son los metadatos de la respuesta específica de la aplicación. Se debe configurar en la primera respuesta para las APIs de transmisión. |