Halaman ini mencantumkan pengecualian yang diberikan oleh library endpoints
serta kode status HTTP yang didukung oleh Framework Cloud Endpoints.
Dalam banyak situasi, Anda mungkin ingin menggunakan kode status HTTP umum untuk menunjukkan keberhasilan atau kegagalan permintaan API pengguna. Misalnya, jika pengguna mencoba mengambil entity yang tidak ada, Anda dapat mengirim kode status HTTP 404
yang menyatakan bahwa tidak ada entity dengan ID: entityId
.
Anda dapat mengirim kode status HTTP umum dengan menampilkan pengecualian yang disediakan
oleh library endpoints
sebagai berikut:
Pengecualian yang diberikan oleh Framework Endpoints
Framework Endpoint memberikan pengecualian berikut, yang sesuai dengan kode status HTTP tertentu:
Pengecualian | Kode status HTTP yang sesuai |
---|---|
com.google.api.server.spi.response.BadRequestException |
400 HTTP |
com.google.api.server.spi.response.UnauthorizedException |
401 HTTP |
com.google.api.server.spi.response.ForbiddenException |
403 HTTP |
com.google.api.server.spi.response.NotFoundException |
404 HTTP |
com.google.api.server.spi.response.ConflictException |
409 HTTP |
com.google.api.server.spi.response.InternalServerErrorException |
500 HTTP |
com.google.api.server.spi.response.ServiceUnavailableException |
503 HTTP |
Kode status HTTP yang didukung
Cloud Endpoints Frameworks mendukung subset kode status HTTP dalam respons API. Tabel berikut menjelaskan kode yang didukung.
Kode status HTTP | Support |
---|---|
HTTP 2xx | 200 HTTP biasanya diasumsikan oleh Framework Endpoint jika metode API berhasil ditampilkan.Jika jenis respons metode API adalah void atau nilai yang ditampilkan metode API adalah null , HTTP 204 akan ditetapkan. |
HTTP 3xx | Kode 3xx HTTP tidak didukung. Penggunaan kode HTTP 3xx apa pun akan menghasilkan respons 404 HTTP. |
HTTP 4xx | Hanya kode HTTP 4xx berikut yang didukung:
404 , kecuali untuk hal berikut:
|
HTTP 5xx | Semua kode status HTTP 5xx dikonversi menjadi HTTP 503 dalam respons klien. |
Membuat class pengecualian Anda sendiri
Jika ingin membuat class pengecualian lain untuk kode status HTTP lainnya, Anda
harus membuat subclass com.google.api.server.spi.ServiceException
. Cuplikan
berikut menunjukkan cara membuat class pengecualian yang mewakili
kode status HTTP 408
:
Menggunakan kode status HTTP yang tidak didukung
Anda dapat menggunakan kode status HTTP yang tidak ada dalam daftar yang didukung
sebelumnya. Perlu diperhatikan bahwa jika Anda memutuskan untuk melakukannya, tindakan ini mungkin menimbulkan konsekuensi yang tidak diinginkan
untuk library klien yang mengakses API. Untuk menggunakan kode error yang tidak didukung,
buat class pengecualian Anda sendiri, seperti yang dijelaskan di bagian sebelumnya, dan
tambahkan parameter inisialisasi servlet baru enableExceptionCompatibility
ke
EndpointsServlet
:
<servlet>
<servlet-name>com.google.api.server.spi.EndpointsServlet</servlet-name>
<servlet-class>com.google.api.server.spi.EndpointsServlet</servlet-class>
<init-param>
<param-name>services</param-name>
<param-value>...</param-value>
</init-param>
<init-param>
<param-name>enableExceptionCompatibility</param-name>
<param-value>true</param-value>
</init-param>
</servlet>