Í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 alto nivel, que es conveniente si alguien quiere extraer parámetros de la plantilla de URL o HTTP para los campos de solicitudes y también quiere acceder al cuerpo HTTP sin procesar.
Ejemplo:
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. Las demás funciones seguirán funcionando sin cambios.
| Campos | |
|---|---|
content_type |
El valor del encabezado HTTP de Content-Type que especifica el tipo de contenido del cuerpo. |
data |
El cuerpo de la solicitud/respuesta HTTP como objeto binario sin procesar. |
extensions[] |
Metadatos de la respuesta específica de la aplicación. Se deben configurar en la primera respuesta para las API de transmisión. |