Google.api paketi

Dizin

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

string

Gövde metninin içerik türünü temsil eden HTTP Content-Type dizesi.

data

bytes

HTTP gövde metninin ikili verileri.

extensions[]

Any

Uygulamaya özgü yanıt meta verileri. Akışkan API'ler için ilk yanıtta ayarlanmalıdır.