Dizin
HttpBody
(mesaj)
HttpBody
Rastgele bir HTTP gövde metnini temsil eden mesaj. Yalnızca ham ikili program veya HTML sayfası gibi JSON olarak temsil edilemeyen yük biçimleri için kullanılmalıdır.
Bu mesaj hem istekteki hem de yanıttaki akışkan ve akışkan olmayan API yöntemlerinde kullanılabilir.
Üst düzey istek alanı olarak kullanılabilir. Bu, URL veya HTTP şablonundan parametreleri alıp istek alanlarına yerleştirmek ve ham HTTP gövde metnine erişmek istediğinizde kullanışlı olur.
Örnek:
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);
}
Akışkan yöntemlerin kullanıldığı örnek:
service CaldavService {
rpc GetCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);
rpc UpdateCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);
}
Bu türün kullanılması yalnızca istek ve yanıt gövde metinlerinin ele alınma biçimini değiştirir, diğer tüm özellikler herhangi bir değişiklik olmadan çalışmaya devam eder.
Alanlar | |
---|---|
content_type |
Gövdenin içerik türünü belirten HTTP Content-Type başlık değeri. |
data |
Ham ikili olarak HTTP istek/yanıt gövdesi. |
extensions[] |
Uygulamaya özgü yanıt meta verileri. Akışkan API'ler için ilk yanıtta ayarlanmalıdır. |