Indeks
Status
(pesan)
Status
Jenis Status
menentukan model error logis yang cocok untuk berbagai lingkungan pemrograman, meliputi REST API dan RPC API. Jenis error ini digunakan oleh gRPC. Model error didesain agar:
- Mudah untuk digunakan dan dimengerti oleh sebagian besar pengguna
- Cukup fleksibel untuk memenuhi kebutuhan yang tidak terduga
Ringkasan
Pesan Status
berisi tiga bagian data: kode error, pesan error, dan detail error. Kode error harus berupa nilai enum dari google.rpc.Code
, tetapi kode error dapat menerima kode error tambahan jika diperlukan. Pesan error harus berupa pesan berbahasa Inggris yang membantu developer understand dan understand error. Jika perlu terjemahan pesan error yang ditampilkan kepada pengguna, tempatkan pesan yang dilokalkan dalam detail error atau lokalkan pesan tersebut di klien. Detail error opsional mungkin berisi informasi arbitrer tentang error tersebut. Ada satu set jenis detail error yang telah ditentukan dalam paket google.rpc
yang dapat digunakan untuk kondisi error umum.
Pemetaan bahasa
Pesan Status
merupakan representasi logis dari model error, tetapi pesan tersebut belum tentu merupakan format wire yang sebenarnya. Saat pesan Status
ditampilkan di library klien dan protokol wire yang berbeda, maka pesan tersebut dapat dipetakan secara berbeda. Sebagai contoh, kemungkinan akan dipetakan ke beberapa pengecualian di Java, tetapi lebih mungkin dipetakan ke beberapa kode error dalam C.
Penggunaan lain
Model error dan pesan Status
dapat digunakan dalam berbagai lingkungan, baik dengan atau tanpa API, untuk memberikan pengalaman developer yang konsisten di berbagai lingkungan.
Contoh penggunaan model error ini termasuk:
Error sebagian. Jika suatu layanan perlu menampilkan error sebagian kepada klien, layanan tersebut dapat menyematkan
Status
dalam respons normal untuk menunjukkan error sebagian.Error alur kerja. Alur kerja biasanya memiliki beberapa langkah. Setiap langkah mungkin memiliki pesan
Status
untuk pelaporan error.Operasi batch Jika klien menggunakan permintaan batch dan respons batch, pesan
Status
harus digunakan secara langsung di dalam respons batch, satu untuk masing-masing sub-respons error.Operasi asinkron Jika panggilan API menyematkan hasil operasi asinkron dalam responsnya, status operasi tersebut harus diwakili secara langsung menggunakan pesan
Status
.Logging. Jika beberapa error API disimpan dalam log,
Status
pesan dapat digunakan secara langsung setelah penghapusan yang diperlukan untuk alasan keamanan/privasi.
Kolom | |
---|---|
code |
Kode status, harus berupa nilai enum dari |
message |
Pesan error yang ditampilkan ke developer dan seharusnya dalam bahasa Inggris. Setiap pesan error yang ditampilkan kepada pengguna harus dilokalkan dan dikirim di kolom |
details[] |
Daftar pesan yang membawa detail error. Ada seperangkat jenis pesan umum untuk digunakan API. |