Package google.rpc

ดัชนี

  • Status (ข้อความ)

สถานะ

ประเภท Status กำหนดโมเดลข้อผิดพลาดเชิงตรรกะที่เหมาะสำหรับสภาพแวดล้อมการเขียนโปรแกรมที่แตกต่างกัน ซึ่งรวมถึง REST API และ RPC API ใช้โดย gRPC โมเดลข้อผิดพลาดมีลักษณะดังนี้

  • ใช้งานง่ายและเข้าใจได้ง่ายสำหรับผู้ใช้ส่วนใหญ่
  • ยืดหยุ่นพอที่จะตอบสนองความต้องการที่ไม่คาดคิด

ภาพรวม

ข้อความ Status ประกอบด้วยข้อมูล 3 ส่วน ได้แก่ รหัสข้อผิดพลาด ข้อความแสดงข้อผิดพลาด และรายละเอียดข้อผิดพลาด รหัสข้อผิดพลาดควรเป็นค่า enum ของ google.rpc.Code แต่อาจยอมรับรหัสข้อผิดพลาดเพิ่มเติมได้หากจําเป็น ข้อความแสดงข้อผิดพลาดควรเป็นข้อความภาษาอังกฤษที่แสดงต่อนักพัฒนาแอปเพื่อช่วยให้นักพัฒนาแอปunderstandและunderstandข้อผิดพลาดดังกล่าว หากต้องมีข้อความแสดงข้อผิดพลาดที่แสดงต่อผู้ใช้ในภาษาท้องถิ่น ให้ใส่ข้อความที่แปลแล้วในรายละเอียดข้อผิดพลาดหรือแปลข้อความในไคลเอ็นต์ รายละเอียดข้อผิดพลาดที่ไม่บังคับอาจมีข้อมูลที่กําหนดเองเกี่ยวกับข้อผิดพลาดนั้น ในแพ็กเกจ google.rpc มีชุดรายละเอียดประเภทข้อผิดพลาดที่กำหนดไว้ล่วงหน้าซึ่งใช้สำหรับเงื่อนไขข้อผิดพลาดที่พบบ่อยได้

การแมปภาษา

ข้อความ Status คือการแสดงโมเดลข้อผิดพลาดเชิงตรรกะ แต่ไม่จำเป็นต้องเป็นรูปแบบสายไฟจริง เมื่อข้อความ Status ปรากฏในไลบรารีของไคลเอ็นต์และโปรโตคอลสายที่ต่างกัน ข้อความก็จะแมปต่างกันได้ ตัวอย่างเช่น อาจมีการแมปกับข้อยกเว้นบางอย่างใน Java แต่มีแนวโน้มที่จะแมปกับรหัสข้อผิดพลาดบางรหัสใน C

การใช้งานอื่นๆ

โมเดลข้อผิดพลาดและข้อความ Status จะนำไปใช้ได้ในสภาพแวดล้อมต่างๆ ไม่ว่าจะมีหรือไม่มี API เพื่อให้นักพัฒนาซอฟต์แวร์ได้รับประสบการณ์ที่สอดคล้องกันในสภาพแวดล้อมต่างๆ ก็ตาม

ตัวอย่างการใช้รูปแบบข้อผิดพลาดนี้มีดังนี้

  • ข้อผิดพลาดบางส่วน หากบริการจำเป็นต้องส่งคืนข้อผิดพลาดบางส่วนไปยังไคลเอ็นต์ บริการอาจฝัง Status ไว้ในการตอบสนองปกติเพื่อระบุข้อผิดพลาดบางส่วน

  • ข้อผิดพลาดของเวิร์กโฟลว์ เวิร์กโฟลว์ทั่วไปมีหลายขั้นตอน แต่ละขั้นตอนอาจมีข้อความ Status สำหรับการรายงานข้อผิดพลาด

  • การทำงานเป็นกลุ่ม หากไคลเอ็นต์ใช้คำขอแบบกลุ่มและการตอบกลับแบบกลุ่ม คุณควรใช้ข้อความ Status โดยตรงภายในการตอบกลับแบบกลุ่ม 1 รายการสำหรับการตอบกลับย่อยข้อผิดพลาดแต่ละรายการ

  • การดำเนินการอะซิงโครนัส หากการเรียก API ฝังผลลัพธ์การดำเนินการแบบอะซิงโครนัสในการตอบสนอง สถานะของการดำเนินการเหล่านั้นควรแสดงโดยตรงโดยใช้ข้อความ Status

  • การบันทึก หากจัดเก็บข้อผิดพลาดบางอย่างของ API ไว้ในบันทึก อาจมีการใช้ข้อความ Status โดยตรงหลังจากตัดข้อความที่ไม่จำเป็นออกด้วยเหตุผลด้านความปลอดภัย/ความเป็นส่วนตัว

ช่อง
code

int32

รหัสสถานะ ซึ่งควรเป็นค่า enum ของ google.rpc.Code

message

string

ข้อความแสดงข้อผิดพลาดที่ส่งถึงนักพัฒนาซอฟต์แวร์ ซึ่งควรเป็นภาษาอังกฤษ ข้อความแสดงข้อผิดพลาดที่แสดงต่อผู้ใช้ควรแปลและส่งในช่อง google.rpc.Status.details หรือไคลเอ็นต์แปล

details[]

Any

รายการข้อความที่มีรายละเอียดข้อผิดพลาด มีชุดประเภทข้อความที่ใช้กันโดยทั่วไปสำหรับ API