Package google.rpc

Chỉ mục

Trạng thái

Loại Status xác định một mô hình lỗi logic phù hợp với nhiều môi trường lập trình, bao gồm cả API REST và API RPC. gRPC sử dụng khoá này. Mô hình lỗi được thiết kế để:

  • Dễ sử dụng và dễ hiểu đối với hầu hết người dùng
  • Đủ linh hoạt để đáp ứng những nhu cầu không mong muốn

Tổng quan

Thông báo Status chứa ba phần dữ liệu: mã lỗi, thông báo lỗi và thông tin chi tiết về lỗi. Mã lỗi phải là giá trị enum của google.rpc.Code, nhưng có thể chấp nhận các mã lỗi khác nếu cần. Thông báo lỗi phải là một thông báo bằng tiếng Anh dành cho nhà phát triển, giúp nhà phát triển understandunderstand lỗi đó. Nếu cần thông báo lỗi được bản địa hoá cho người dùng, hãy đưa thông báo đã bản địa hoá đó vào phần thông tin chi tiết về lỗi hoặc bản địa hoá trong ứng dụng. Thông tin chi tiết về lỗi không bắt buộc có thể chứa thông tin tuỳ ý về lỗi. Có một tập hợp các loại chi tiết lỗi được xác định trước trong gói google.rpc có thể dùng cho các điều kiện lỗi phổ biến.

Lập bản đồ ngôn ngữ

Thông báo Status thể hiện logic của mô hình lỗi, nhưng không nhất thiết là định dạng dây thực tế. Khi thông báo Status xuất hiện ở nhiều thư viện ứng dụng và giao thức mạng, thông báo đó có thể được ánh xạ theo nhiều cách. Ví dụ: nó có thể sẽ được ánh xạ tới một số ngoại lệ trong Java, nhưng có nhiều khả năng sẽ được ánh xạ tới một số mã lỗi trong C.

Các trường hợp sử dụng khác

Mô hình lỗi và thông báo Status có thể được dùng trong nhiều môi trường (có hoặc không có API) để mang lại trải nghiệm nhất quán cho nhà phát triển trên nhiều môi trường.

Ví dụ về cách sử dụng mô hình lỗi này:

  • Lỗi một phần. Nếu cần trả về lỗi một phần cho ứng dụng khách, dịch vụ đó có thể nhúng Status vào phản hồi bình thường để chỉ ra lỗi một phần.

  • Lỗi quy trình công việc. Quy trình làm việc thông thường có nhiều bước. Mỗi bước có thể có một thông báo Status để báo cáo lỗi.

  • Thao tác theo lô. Nếu ứng dụng sử dụng yêu cầu hàng loạt và phản hồi hàng loạt, thì thông báo Status sẽ được dùng trực tiếp trong phản hồi hàng loạt, một thông báo cho mỗi phản hồi phụ khi gặp lỗi.

  • Thao tác không đồng bộ. Nếu một lệnh gọi API nhúng hoạt động không đồng bộ dẫn đến phản hồi, thì trạng thái của các hoạt động đó phải được biểu thị trực tiếp bằng thông báo Status.

  • Ghi nhật ký. Nếu một số lỗi API được lưu trữ trong nhật ký, thì bạn có thể sử dụng thông báo Status ngay sau khi loại bỏ nếu cần vì lý do bảo mật/quyền riêng tư.

Các trường
code

int32

Mã trạng thái, phải là giá trị enum của google.rpc.Code.

message

string

Một thông báo lỗi dành cho nhà phát triển, phải bằng tiếng Anh. Mọi thông báo lỗi dành cho người dùng phải được bản địa hoá và gửi trong trường google.rpc.Status.details hoặc được ứng dụng bản địa hoá.

details[]

Any

Danh sách các thông báo chứa thông tin chi tiết về lỗi. Có một tập hợp các loại thông báo phổ biến để API sử dụng.