ดัชนี
HttpBody
(ข้อความ)
HttpBody
ข้อความที่เป็นตัวแทนเนื้อหา HTTP ที่กำหนดเอง ควรใช้เป็นรูปแบบเปย์โหลดที่แสดงเป็น JSON ไม่ได้เท่านั้น เช่น ไฟล์ไบนารีข้อมูล RAW หรือหน้า HTML
ข้อความนี้ใช้ได้ทั้งในเมธอด API แบบสตรีมมิงและไม่ใช่สตรีมมิงในคำขอและในการตอบกลับ
ข้อความนี้ใช้เป็นช่องคำขอระดับบนสุดได้ ซึ่งจะสะดวกมากสำหรับผู้ที่ต้องการแยกพารามิเตอร์ออกจาก URL หรือเทมเพลต HTTP เพื่อใส่ลงในช่องคำขอและต้องการเข้าถึงเนื้อหา HTTP แบบไฟล์ข้อมูล RAW ด้วย
ตัวอย่าง
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 |
ค่าส่วนหัวประเภทเนื้อหา HTTP ที่ระบุประเภทเนื้อหาของส่วนเนื้อหา |
data |
เนื้อหาคำขอ/การตอบกลับ HTTP เป็นไบนารีไฟล์ดิบ |
extensions[] |
ข้อมูลเมตาการตอบกลับเฉพาะแอปพลิเคชัน ต้องตั้งค่าในการตอบกลับครั้งแรกสำหรับ API สตรีมมิง |