משאב: HttpBody
הודעה שמייצגת גוף HTTP שרירותי. צריך להשתמש בו רק לפורמטים של עומסי עבודה שלא ניתן לייצג כ-JSON, כמו נתונים בינאריים גולמיים או דף HTML.
אפשר להשתמש בהודעה הזו בשיטות API בסטרימינג ובשיטות API ללא סטרימינג, גם בבקשה וגם בתגובה.
אפשר להשתמש בו כשדה בקשה ברמה העליונה. זה נוח אם רוצים לחלץ פרמטרים מכתובת ה-URL או מתבנית ה-HTTP לשדות הבקשה, וגם רוצים גישה לגוף ה-HTTP הגולמי.
דוגמה:
message GetResourceRequest {
// A unique request id.
string requestId = 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);
}
השימוש בסוג הזה משנה רק את האופן שבו מטפלים בגוף הבקשה ובגוף התגובה. כל שאר התכונות ימשיכו לפעול ללא שינוי.
ייצוג ב-JSON |
---|
{ "contentType": string, "data": string, "extensions": [ { "@type": string, field1: ..., ... } ] } |
שדות | |
---|---|
contentType |
הערך של כותרת ה-HTTP Content-Type שמציין את סוג התוכן של הגוף. |
data |
גוף הבקשה/התשובה של ה-HTTP כקובץ בינארי גולמי. מחרוזת בקידוד Base64. |
extensions[] |
מטא-נתונים של תגובה ספציפית לאפליקציה. צריך להגדיר אותו בתגובה הראשונה לממשקי API של סטרימינג. אובייקט שמכיל שדות מסוג שרירותי. שדה נוסף |
Methods |
|
---|---|
|
חישוב תמונה של משבצת מפה שמציגה חלק מ-FeatureView. |