Índice
HttpBody(mensagem)
HttpBody
Mensagem que representa um corpo HTTP arbitrário. Só deve ser usado para formatos de carga útil que não podem ser representados como JSON, como binário não processado ou uma página HTML.
Esta mensagem pode ser usada em métodos de API de streaming e não streaming no pedido, bem como na resposta.
Pode ser usado como um campo de pedido de nível superior, o que é conveniente se quiser extrair parâmetros do URL ou do modelo HTTP para os campos de pedido e também quiser aceder ao corpo HTTP não processado.
Exemplo sem 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);
}
Exemplo com 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);
}
A utilização deste tipo apenas altera a forma como os corpos do pedido e da resposta são processados. Todas as outras funcionalidades continuam a funcionar sem alterações.
| Campos | |
|---|---|
content_ |
O valor do cabeçalho Content-Type HTTP que especifica o tipo de conteúdo do corpo. |
data |
O corpo do pedido ou da resposta HTTP como binário não processado. |
extensions[] |
Metadados de resposta específicos da aplicação. Tem de ser definido na primeira resposta para APIs de streaming. |