ZEPETO.Multiplay.HttpService
ประเภท | คำอธิบาย |
|---|---|
การแจกแจงค่าคงที่ที่ระบุ Content-Type ของ HTTP | |
ชื่อแทนชนิดข้อมูลสำหรับเนื้อหา HTTP Body ซึ่งอาจเป็นข้อความธรรมดาหรืออ็อบเจกต์คีย์-ค่า | |
ชื่อแทนชนิดข้อมูลสำหรับ HTTP Header ซึ่งแทนอ็อบเจกต์คีย์-ค่า | |
การแจกแจงค่าคงที่ที่ระบุสาเหตุความล้มเหลวของคำขอ HTTP | |
แทนข้อผิดพลาดที่เกิดขึ้นระหว่างคำขอ HTTP | |
แทน HTTP Response | |
HttpService มี API สำหรับสร้างการเชื่อมต่อ HTTP กับบริการเว็บภายนอกและส่งคำขอ - โปรดใช้โปรโตคอล HTTPS โดย HTTP รองรับเฉพาะในสภาพแวดล้อมสำหรับการพัฒนาเท่านั้น - คำขอถูกจำกัดไว้ที่พอร์ต 80 และ 443 - ขนาดสูงสุดของ body ในคำขอและการตอบกลับคือ 16KB - โปรดรักษาจำนวนคำขอต่อนาทีให้ต่ำกว่า 500 เพื่อหลีกเลี่ยงข้อจำกัดที่อาจเกิดขึ้นกับบริการ World อันเนื่องมาจากคำขอที่มากเกินไป - คำขอจะล้มเหลวหากบริการเว็บภายนอกไม่ตอบกลับภายใน 5 วินาที - โปรดตรวจสอบว่า Content-Type ในเฮดเดอร์การตอบกลับตรงกับค่าที่กำหนดไว้ใน enum HttpContentType เพื่อป้องกันไม่ให้คำขอล้มเหลว - เนื่องจากคำขอเว็บอาจล้มเหลวได้จากหลายสาเหตุ จึงแนะนำให้เขียนโค้ดในเชิงป้องกัน |
HttpContentType
enum
การแจกแจงค่าคงที่ที่ระบุ Content-Type ของ HTTP
ชื่อ | ค่า | คำอธิบาย |
|---|---|---|
ApplicationJson | "application/json" | แทน content type แบบ application/json |
ApplicationXml | "application/xml" | แทน content type แบบ application/xml |
ApplicationUrlEncoded | "application/x-www-form-urlencoded" | แทน content type แบบ application/x-www-form-urlencoded |
TextPlain | "text/plain" | แทน content type แบบ text/plain |
TextXml | "text/xml" | แทน content type แบบ text/xml |
HttpBodyType
delegate
ชื่อแทนชนิดข้อมูลสำหรับเนื้อหา HTTP Body ซึ่งอาจเป็นข้อความธรรมดาหรืออ็อบเจกต์คีย์-ค่า
string | { [key: string]: any; }
HttpHeader
delegate
ชื่อแทนชนิดข้อมูลสำหรับ HTTP Header ซึ่งแทนอ็อบเจกต์คีย์-ค่า
{ [key: string]: string | number; }
HttpErrorType
enum
การแจกแจงค่าคงที่ที่ระบุสาเหตุความล้มเหลวของคำขอ HTTP
ชื่อ | ค่า | คำอธิบาย |
|---|---|---|
ERR_ACCESS_DENIED | "ERR_ACCESS_DENIED" | ข้อผิดพลาด: การเข้าถึงถูกปฏิเสธ |
ERR_LENGTH_REQUIRED | "ERR_LENGTH_REQUIRED" | ข้อผิดพลาด: ต้องระบุความยาว |
HttpError
interface · extends Error
แทนข้อผิดพลาดที่เกิดขึ้นระหว่างคำขอ HTTP
พร็อพเพอร์ตี้
ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
message | string | ข้อความแสดงข้อผิดพลาด |
code | string | รหัสข้อผิดพลาดที่กำหนดเป็นค่าจาก enum HttpErrorType |
HttpResponse
interface
แทน HTTP Response
พร็อพเพอร์ตี้
ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
statusCode | number | รหัสสถานะของการตอบกลับ โดยทั่วไป 200 หมายถึงคำขอสำเร็จ |
statusText | string | ข้อความสถานะที่สอดคล้องกับรหัสสถานะ โดยทั่วไป "OK" หมายถึงคำขอสำเร็จ |
response | string | เนื้อหา body ของการตอบกลับ HTTP ซึ่งรูปแบบอาจแตกต่างกันไปตาม Content-Type ของการตอบกลับ แนะนำให้ใช้ parser ที่เหมาะสมกับ Content-Type ที่ได้รับ |
HttpService
interface
HttpService มี API สำหรับสร้างการเชื่อมต่อ HTTP กับบริการเว็บภายนอกและส่งคำขอ
- โปรดใช้โปรโตคอล HTTPS โดย HTTP รองรับเฉพาะในสภาพแวดล้อมสำหรับการพัฒนาเท่านั้น
- คำขอถูกจำกัดไว้ที่พอร์ต 80 และ 443
- ขนาดสูงสุดของ body ในคำขอและการตอบกลับคือ 16KB
- โปรดรักษาจำนวนคำขอต่อนาทีให้ต่ำกว่า 500 เพื่อหลีกเลี่ยงข้อจำกัดที่อาจเกิดขึ้นกับบริการ World อันเนื่องมาจากคำขอที่มากเกินไป
- คำขอจะล้มเหลวหากบริการเว็บภายนอกไม่ตอบกลับภายใน 5 วินาที
- โปรดตรวจสอบว่า Content-Type ในเฮดเดอร์การตอบกลับตรงกับค่าที่กำหนดไว้ใน enum HttpContentType เพื่อป้องกันไม่ให้คำขอล้มเหลว
- เนื่องจากคำขอเว็บอาจล้มเหลวได้จากหลายสาเหตุ จึงแนะนำให้เขียนโค้ดในเชิงป้องกัน
เมธอด
getAsync
getAsync(url: string, headers?: HttpHeader) → Promise<HttpResponse>
ดำเนินการคำขอ HTTP GET แบบอะซิงโครนัส โดยจะโยน HttpError
พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
url | string | ที่อยู่เว็บที่จะส่งคำขอไป |
headers (ไม่บังคับ) | เฮดเดอร์ของคำขอ HTTP (ไม่บังคับ) |
ค่าที่คืนกลับ: Promise<HttpResponse> — Promise ที่ resolve พร้อมอ็อบเจกต์ HttpResponse เมื่อดำเนินการเสร็จสิ้น
postAsync
postAsync(url: string, body: HttpBodyType, headers?: HttpHeader) → Promise<HttpResponse>
ดำเนินการคำขอ HTTP POST แบบอะซิงโครนัส โดยจะโยน HttpError
พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
url | string | ที่อยู่เว็บที่จะส่งคำขอไป |
body | เนื้อหา body ของคำขอ | |
headers (ไม่บังคับ) | เฮดเดอร์ของคำขอ HTTP (ไม่บังคับ) |
ค่าที่คืนกลับ: Promise<HttpResponse> — Promise ที่ resolve พร้อมอ็อบเจกต์ HttpResponse เมื่อดำเนินการเสร็จสิ้น
postAsync
postAsync(url: string, body: HttpBodyType, httpContentType: HttpContentType, headers?: HttpHeader) → Promise<HttpResponse>
ดำเนินการคำขอ HTTP POST แบบอะซิงโครนัส โดยจะโยน HttpError เมื่อใช้ signature นี้ หากคุณเพิ่ม 'Content-Type' ลงใน headers ค่าดังกล่าวจะถูกเขียนทับด้วยค่าที่ระบุใน httpContentType
พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
url | string | ที่อยู่เว็บที่จะส่งคำขอไป |
body | เนื้อหา body ของคำขอ | |
httpContentType | ระบุเฮดเดอร์ Content-Type ของคำขอ | |
headers (ไม่บังคับ) | เฮดเดอร์ของคำขอ HTTP (ไม่บังคับ) |
ค่าที่คืนกลับ: Promise<HttpResponse> — Promise ที่ resolve พร้อมอ็อบเจกต์ HttpResponse เมื่อดำเนินการเสร็จสิ้น