Package google.api

Índice

HttpBody

Se trata de un mensaje que representa un cuerpo HTTP arbitrario. Solo debe usarse en formatos de carga útil que no se pueden representar como JSON; por ejemplo, archivos binarios sin procesar o páginas HTML.

Este mensaje se puede usar tanto en los métodos de la API en streaming como en los que no lo son, y se puede incluir en la solicitud y en la respuesta.

Puede incluirse en las solicitudes como campo de nivel superior, lo que puede resultar útil si se quieren extraer parámetros de la URL o la plantilla HTTP para rellenar campos de la solicitud y, además, se quiere acceder al cuerpo HTTP sin procesar.

Ejemplo sin métodos de streaming:

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 streaming:

service CaldavService {
  rpc GetCalendar(stream google.api.HttpBody)
    returns (stream google.api.HttpBody);
  rpc UpdateCalendar(stream google.api.HttpBody)
    returns (stream google.api.HttpBody);

}

Al utilizar este tipo, solo cambia la forma en la que se gestionan los cuerpos de las solicitudes y las respuestas. El resto de las funciones seguirán funcionando sin cambios.

Campos
content_type

string

El valor del encabezado HTTP Content-Type que especifica el tipo de contenido del cuerpo.

data

bytes

Cuerpo de la solicitud o de la respuesta HTTP como datos binarios sin procesar.

extensions[]

Any

Metadatos de respuestas específicos de la aplicación. Debe definirse en la primera respuesta de las APIs de streaming.