差異處
這裏顯示兩個版本的差異處。
Both sides previous revision 前次修改 下次修改 | 前次修改 | ||
java:web:restapi:response_code [2019/01/22 23:18] tony |
java:web:restapi:response_code [2019/02/05 22:08] tony [5xx - Server Error] |
||
---|---|---|---|
行 51: | 行 51: | ||
* 將某資源名稱修改為已存在之名稱。 | * 將某資源名稱修改為已存在之名稱。 | ||
* 刪除不含有子資源的資源。 | * 刪除不含有子資源的資源。 | ||
- | * 操作已被修改的資源。 | + | * 操作已被修改的資源;在GitHub中,如果要Merge已被其他人修改過的Branch,就會收到409。 |
=== 412 Precondition Failed === | === 412 Precondition Failed === | ||
這用來代表Client請求Header中的條件無法滿足。舉例來說,Client想透過PUT修改某樣資源,它在Header中指定了If-Match,當伺服器發現If-Match無法吻合時,就會丟412。這個目前我還沒有實際的應用可以舉例。 | 這用來代表Client請求Header中的條件無法滿足。舉例來說,Client想透過PUT修改某樣資源,它在Header中指定了If-Match,當伺服器發現If-Match無法吻合時,就會丟412。這個目前我還沒有實際的應用可以舉例。 | ||
行 58: | 行 58: | ||
===== 5xx - Server Error ===== | ===== 5xx - Server Error ===== | ||
=== 500 - Internal Server Error === | === 500 - Internal Server Error === | ||
- | 這應該是最不陌生的錯誤代碼了。假如Server發生非預期的錯誤,最簡單就是直接將例外抓起,回應此代碼給Client。 | + | 這應該是最不陌生的錯誤代碼了。假如Server發生非預期的錯誤,最簡單就是直接將例外抓起,回應此代碼給Client。\\ |
- | // | + | |
- | // | + | |
Note .如果例外懶得處理,即使回傳500給Client,也不要丟400讓它們覺得有任何希望.. | Note .如果例外懶得處理,即使回傳500給Client,也不要丟400讓它們覺得有任何希望.. | ||
+ | === 503 - Service Unavailable === | ||
+ | 這代表著伺服器暫時無法提供服務。通常代表伺服器在進行維護或者是因為過載而暫時無法提供服務。 | ||
+ | |||
===== Reference ===== | ===== Reference ===== | ||
* REST API Design Rulebook, 1st Edition, by Mark Masse | * REST API Design Rulebook, 1st Edition, by Mark Masse |