Код состояния ответа Laravel всегда 200 в Android MonhofitAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Код состояния ответа Laravel всегда 200 в Android Monhofit

Сообщение Anonymous »

У меня есть приложение для Android, которое использует Laravel в качестве бэкэнда. Проблема в том, что Laravel всегда отправляет код статуса 200 вместо того, чтобы отправлять правильный код состояния 400. Вот мой код в Ларавеле: < /p>

Код: Выделить всё

public function loginWithUsername(Request $request)
{
$data = $request->only('username', 'password');
$rules = [
'username' => 'required|max:255',
'password' => 'required',
];
$validator = Validator::make($data, $rules);
if ($validator->fails() === true) {
return response()->json(['errors' => $validator->errors()], 422)->send();
} else {
$username = $request->username;
$user = User::where('username', $username)->first();
if (! $user) {
return response()->json(['error' => __('messages.invalid-username')], 404)->send();
} else if (! Hash::check($request->password, $user->password)) {
return response()->json(['error' => __('messages.invalid-password')], 401)->send();
}
//...
}
}
< /code>
и мой код Android: < /p>
public MutableLiveData loginUsingUsername(String username, String password) {
MutableLiveData liveData = new MutableLiveData();
Call call = apiService.loginUsingUsername(username, password);
call.enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
Log.i(TAG, "isSuccessful: " + response.isSuccessful());
Log.i(TAG, "loginUsingUsername in repo --> response.code:" + response.code());
liveData.setValue(response); // Return the whole response (including status code)
}

@Override
public void onFailure(Call call, Throwable t) {
Log.e(TAG, "Network failure: " + t.getMessage());
liveData.setValue(null);
}
});
return liveData;
}
Обратите внимание, что если имя пользователя или пароль недопустим, я получаю 200 кода статуса вместо 404 или 401.

Подробнее здесь: https://stackoverflow.com/questions/796 ... d-retrofit
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»