Рубрики
Uncategorized

Как правильно вернуть код состояния HTTP в laravel

Автор оригинала: David Wong.

Статья была переслана из профессионального сообщества разработчиков laravel. Оригинальная ссылка: https://learnku.com/laravel/t

Важно вернуть код состояния в API, потому что обработчик ответа работает поверх кода состояния ответа API.

Одна из важных вещей при написании API-это лучшая обработка кодов состояния ответа. Ранее я использовал менее часто используемый номер целочисленного типа в качестве кода состояния HTTP. Вот пример:

php 
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Post;
Class PostsController extends Controller{
  public function store(){
    $post = new Post(request()->only('title', 'description'));
    request()->user()->posts()->save($post);
    return response()->json(['post' => $post], 201);
    }
}

Во время вызова API, если данные были созданы, они будут реагировать на код состояния HTTP 201, но многие разработчики не знают код состояния 201, они более знакомы с кодом состояния 200 “Успех”. Используйте класс symfony response для решения этой проблемы. Он содержит все коды состояния HTTP и использует более простые и понятные имена. Вышеуказанные коды могут быть изменены следующим образом:

only('title', 'description'));
    request()->user()->posts()->save($post);
    return response()->json(['post' => $post], Response::HTTP_CREATED);
    }
}

Этот класс содержит все определенные коды состояния HTTP. Для начала давайте рассмотрим некоторые из них:

Хотя я не думаю, что это плохая привычка писать код состояния HTTP значения напрямую, я считаю, что лучше использовать некоторые понятные имена для кодов состояния HTTP. Счастливого кодирования!