Package google.api

فهرست مطالب

HttpBody

پیامی که یک بدنه HTTP دلخواه را نشان می‌دهد. فقط باید برای قالب‌های باری استفاده شود که نمی‌توانند به‌عنوان JSON نشان داده شوند، مانند باینری خام یا صفحه HTML.

این پیام را می توان هم در روش های پخش جریانی و هم در روش های غیر استریم API در درخواست و همچنین پاسخ استفاده کرد.

می توان از آن به عنوان یک فیلد درخواست سطح بالا استفاده کرد، که اگر بخواهید پارامترهایی را از URL یا الگوی HTTP در فیلدهای درخواست استخراج کنید و همچنین بخواهید به بدنه HTTP خام دسترسی داشته باشید، راحت است.

مثال:

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

}

مثال با روش های پخش:

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

}

استفاده از این نوع فقط نحوه رسیدگی به درخواست و پاسخ بدن را تغییر می دهد، همه ویژگی های دیگر بدون تغییر به کار خود ادامه می دهند.

زمینه های
content_type

string

مقدار هدر HTTP Content-Type که نوع محتوای بدنه را مشخص می کند.

data

bytes

بدنه درخواست/پاسخ HTTP به صورت باینری خام.

extensions[]

Any

فراداده پاسخ خاص برنامه باید در اولین پاسخ برای APIهای جریانی تنظیم شود.