Indice
HttpBody(messaggio)
HttpBody
Messaggio che rappresenta un corpo HTTP arbitrario. Deve essere utilizzato solo per i formati di payload che non possono essere rappresentati come JSON, ad esempio un programma binario raw o una pagina HTML.
Questo messaggio può essere utilizzato nei metodi API in streaming e non in streaming, sia nella richiesta sia nella risposta.
Può essere utilizzato come campo di richiesta di livello superiore, il che è utile se vuoi estrarre dei parametri dall'URL o dal modello HTTP per i campi della richiesta e vuoi anche l'accesso al corpo HTTP raw.
Esempio senza metodi in 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);
}
Esempio con metodi in 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);
}
L'utilizzo di questo tipo modifica solo il modo in cui vengono gestiti i corpi di richiesta e risposta. Tutte le altre funzionalità continuano a funzionare senza modifiche.
| Campi | |
|---|---|
content_ |
Il valore di intestazione del tipo di contenuto HTTP che specifica il tipo di contenuto del corpo. |
data |
Il corpo della richiesta o della risposta HTTP come binario non elaborato. |
extensions[] |
Metadati di risposta specifici dell'applicazione. Deve essere impostato nella prima risposta per le API in streaming. |