0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

laravel API とりあえずPostManとかから値を投げられるようにする

Last updated at Posted at 2022-06-23

概要

  • laravelをAPIサーバーとして使う際にとりあえずPostManとかでリクエストボディー込で投げてオウム返しするように設定する方法をまとめる

方法

  1. ルーティングの記載

    1. 下記のようにapi.phpのルーティングファイルにルート情報を記載する。

      アプリ名ディレクトリ/routes/api.php
      <?php
      
      declare(strict_types=1);
      
      use App\Http\Controllers\ContentController;
      use Illuminate\Support\Facades\Route;
      
      /*
      |--------------------------------------------------------------------------
      | API Routes
      |--------------------------------------------------------------------------
      |
      | Here is where you can register API routes for your application. These
      | routes are loaded by the RouteServiceProvider within a group which
      | is assigned the "api" middleware group. Enjoy building your API!
      |
      */
       
      Route::post('/return', [ContentController::class, 'return'])->name('return');
      
  2. コントローラーの記載

    1. 任意のコントローラーを定義して、下記のように記載する。

      アプリ名ディレクトリ/app/Http/Controllers/ContentController.php
      <?php
      
      declare(strict_types=1);
      
      namespace App\Http\Controllers;
      
      use Illuminate\Http\Request;
      
      class ContentController extends Controller
      {        
          public function return (Request $request)
          {
              return $request;
          }
      }
      
  3. /apiルーティングのCSRF回避

    1. アプリ名ディレクトリ/app/Http/Middleware/VerifyCsrfToken.phpを開き下記のように/apiのルートのみCSRFのチェックを無効化する。

      アプリ名ディレクトリ/app/Http/Middleware/VerifyCsrfToken.php
      <?php
      
      declare(strict_types=1);
      
      namespace App\Http\Middleware;
      
      use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
      
      class VerifyCsrfToken extends Middleware
      {
          /**
           * The URIs that should be excluded from CSRF verification.
           *
           * @var array<int, string>
           */
          protected $except = [
              '/api',
          ];
      }
      
  4. あとは任意のリクエストボディーを記載してPostManなどでhttp://localhost/api/returnにPOSTメソッドでリクエストを送れば送ったJSONをそのままオウムがえししてくれるはず。(http://localhostの部分は適宜皆さんの環境に合わせて変更してください。)

  5. バリデーションのチェックもしたいなどあれば下記を参考に独自のリクエストクラスをお作りいただき、バリデーションエラーがJSONで返るように設定すればOK

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?