Najlepsza praktyka błędów w API RESTful
Jakie są najlepsze wskazówki dotyczące zwracania kodów stanu HTTP w interfejsie API RESTful? Używam Laravel 4 dla mojego środowiska PHP.
W przypadku błędu powinienem użyć
return Response::json('User Exists', 401);
lub
włącz flagę dlasuccess
return Response::json([
'success' => false,
'data' => 'User Exists'],
401
);
lub
użyj 200 zamiast 4xx, polegając nasuccess
aby ustalić, czy wystąpił błąd
return Response::json([
'success' => false,
'data' => 'User Exists'],
200
);
A w przypadku sukcesu i nie ma potrzeby zwracania żadnych danych, czy nadal coś zwracasz?
Kod API PHP
public function getCheckUniqueEmail() {
// Check if Email already exist in table 'users'
$uniqueEmail = checkIfEmailExists();
// Return JSON Response
if($uniqueEmail) {
// Validation fail (user exists)
return Response::json('User Exists', 401);
} else {
// Validation success
// - Return anything?
}
}