ホームページ  >  記事  >  PHPフレームワーク  >  Laravel API が常に JSON 形式の応答を返すようにする

Laravel API が常に JSON 形式の応答を返すようにする

藏色散人
藏色散人転載
2020-04-11 11:53:295707ブラウズ

Laravel API が常に JSON 形式の応答を返すようにする

API 全体を提供する Laravel アプリケーションを作成している場合、たとえば、/home または / にリダイレクトされる認証エラーではなく、すべての応答を JSON 形式にする必要があります。 login の場合、最終的なリダイレクトは InvalidArgumentException: Route [login] が定義されていません のビューになります。

推奨チュートリアル: "laravel チュートリアル"

次の簡単なソリューションにより、Laravel アプリケーションが最初に JSON 形式で応答できるようになります。

最初のステップ、BaseRequest を作成します

まず、Illuminate\Http\Request を書き換えて、デフォルトで JSON 応答を使用するように変更する BaseRequest を構築する必要があります。

app/Http/Requests/BaseRequest.php

<?php
namespace App\Http\Requests;
use Illuminate\Http\Request;
class BaseRequest extends Request
{
    public function expectsJson()
    {
        return true;
    }
    public function wantsJson()
    {
        return true;
    }
}

2 番目のステップは、BaseRequest

public/index.php ファイル内の \Illumiate を置き換えることです。 \ 次のように、Http\Request を BaseRequest に置き換えます。

$response = $kernel->handle(
    $request = \App\Http\Requests\BaseRequest::capture()
);

完了!

現在、エラーと例外を含むすべての応答は application/json になります。

コミュニティから https://learnku.com/laravel/wikis/16069

以上がLaravel API が常に JSON 形式の応答を返すようにするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。