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های جریانی تنظیم شود. |
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2024-11-12 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2024-11-12 بهوقت ساعت هماهنگ جهانی."],[[["`HttpBody` is a message type used to represent arbitrary HTTP request or response bodies, especially for non-JSON formats like raw binary or HTML."],["It can be used with both streaming and non-streaming API methods, enabling flexibility in data transmission."],["`HttpBody` allows developers to access raw HTTP data while still using structured fields for other request parameters."],["It includes fields for specifying the content type (`content_type`), raw data (`data`), and any application-specific metadata (`extensions`)."]]],["The `HttpBody` message represents arbitrary HTTP bodies, useful for non-JSON formats like raw binary or HTML. It's applicable in both streaming and non-streaming API methods for requests and responses. It can serve as a top-level request field, allowing parameter extraction from URLs or HTTP templates alongside access to the raw body. Key components are: `content_type` (specifying the body's type), `data` (raw binary content), and `extensions` (metadata). Its usage alters request/response body handling while preserving other functionalities.\n"]]