Gói google.api

Chỉ mục

HttpBody

Thông báo đại diện cho nội dung HTTP tùy ý. Chỉ nên sử dụng HttpBody cho các định dạng nội dung không thể biểu diễn dưới dạng JSON, chẳng hạn như trang nhị phân thô hoặc trang HTML.

Có thể sử dụng thông báo này trong cả các phương thức API phát trực tuyến và không phải phát trực tuyến trong yêu cầu cũng như phản hồi.

HttpBody có thể dùng làm trường yêu cầu cấp cao nhất. Điều này rất thuận tiện nếu người dùng muốn trích xuất các tham số từ mẫu URL hoặc HTTP vào các trường yêu cầu và cũng muốn truy cập vào phần nội dung HTTP thô.

Ví dụ:

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

Ví dụ với các phương thức phát trực tuyến:

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

Việc sử dụng loại thông báo này chỉ thay đổi cách xử lý các yêu cầu và nội dung phản hồi, tất cả các tính năng khác sẽ tiếp tục hoạt động theo cách như cũ.

Trường
content_type

string

Chuỗi HTTP Content-Type biểu thị loại nội dung của thông báo.

data

bytes

Dữ liệu nhị phân về nội dung HTTP.

extensions[]

Any

Siêu dữ liệu về phản hồi dành riêng cho ứng dụng. Phải được đặt trong phản hồi đầu tiên cho API phát trực tuyến.