Pakiet google.api

Indeks

HttpBody

Komunikat dotyczący dowolnej treści HTTP. Powinien być używany wyłącznie w przypadku formatów ładunku, których nie da się zapisać jako JSON, takich jak pliki binarne RAW lub strony HTML.

Komunikat może być używany w żądaniu oraz w odpowiedzi zarówno w strumieniowych, jak i niestrumieniowych metodach API.

Może służyć jako pole żądania najwyższego poziomu, co jest wygodne, gdy chcesz wyodrębnić parametry z szablonu URL lub HTTP i użyć ich w polach żądania oraz gdy potrzebujesz dostępu do treści HTTP w formacie RAW.

Przykład

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);
}

Przykład z metodami strumieniowymi:

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

Użycie tego typu treści zmienia tylko sposób obsługi treści żądania i odpowiedzi – pozostałe funkcje działają bez zmian.

Pola
content_type

string

Ciąg tekstowy w formacie treści HTTP odpowiadający formatowi treści.

data

bytes

Dane binarne treści HTTP.

extensions[]

Any

Metadane odpowiedzi aplikacji. W przypadku strumieniowych interfejsów API muszą być przesłane w pierwszej odpowiedzi.