Package google.api

אינדקס

HttpBody

הודעה שמייצגת גוף HTTP שרירותי. צריך להשתמש בו רק לפורמטים של עומסי עבודה שלא ניתן לייצג כ-JSON, כמו נתונים בינאריים גולמיים או דף HTML.

אפשר להשתמש בהודעה הזו בשיטות API בסטרימינג ובשיטות 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 של סטרימינג.