Skip to content

Commit be17207

Browse files
committed
rv readme
1 parent 33032ec commit be17207

File tree

2 files changed

+84
-2
lines changed

2 files changed

+84
-2
lines changed

README.md

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -458,4 +458,59 @@ graph TB
458458
style EmailError3 fill:#f8d7da
459459
style CreateUser fill:#fff3cd
460460
style UpdateGoogleId fill:#fff3cd
461-
```
461+
```
462+
463+
### APIのエラーハンドリングとレスポンス形式
464+
465+
ルート一覧を確認
466+
```bash
467+
wida@LAPTOP-2C4PL9J8:~/dev/laravel-rds$ ./vendor/bin/sail artisan route:list
468+
WARN[0001] The "MYSQL_EXTRA_OPTIONS" variable is not set. Defaulting to a blank string.
469+
WARN[0000] The "MYSQL_EXTRA_OPTIONS" variable is not set. Defaulting to a blank string.
470+
471+
GET|HEAD / ..........................................................................................................................
472+
GET|HEAD api/auth/google .................................................................. Api\GoogleAuthController@redirectToGoogle
473+
GET|HEAD api/auth/google/callback ..................................................... Api\GoogleAuthController@handleGoogleCallback
474+
POST api/login ................................................................................. login › Api\AuthController@login
475+
POST api/logout ....................................................................................... Api\AuthController@logout
476+
GET|HEAD api/posts ........................................................................... posts.index › Api\PostController@index
477+
POST api/posts ........................................................................... posts.store › Api\PostController@store
478+
GET|HEAD api/posts/{post} ...................................................................... posts.show › Api\PostController@show
479+
PUT|PATCH api/posts/{post} .................................................................. posts.update › Api\PostController@update
480+
DELETE api/posts/{post} ................................................................ posts.destroy › Api\PostController@destroy
481+
GET|HEAD api/profile ........................................................................................ Api\UserController@show
482+
PUT api/profile ...................................................................................... Api\UserController@update
483+
GET|HEAD api/test ...................................................................................................................
484+
GET|HEAD api/user ...................................................................................................................
485+
GET|HEAD sanctum/csrf-cookie ...................................... sanctum.csrf-cookie › Laravel\Sanctum › CsrfCookieController@show
486+
GET|HEAD storage/{path} ............................................................................................... storage.local
487+
GET|HEAD up .........................................................................................................................
488+
489+
Showing [17] routes
490+
```
491+
492+
上記について表にまとめると
493+
494+
<div style="font-size: 85%;">
495+
496+
| メソッド | URI | ルート名(識別子) | コントローラーのメソッド名 | コントローラー(クラス) |
497+
|---------|-----|-------------------|-------------------------|----------------------|
498+
| GET\|HEAD | / | - | - | - |
499+
| GET\|HEAD | api/auth/google | - | redirectToGoogle | Api\GoogleAuthController |
500+
| GET\|HEAD | api/auth/google/callback | - | handleGoogleCallback | Api\GoogleAuthController |
501+
| POST | api/login | login | login | Api\AuthController |
502+
| POST | api/logout | - | logout | Api\AuthController |
503+
| GET\|HEAD | api/posts | posts.index | index | Api\PostController |
504+
| POST | api/posts | posts.store | store | Api\PostController |
505+
| GET\|HEAD | api/posts/{post} | posts.show | show | Api\PostController |
506+
| PUT\|PATCH | api/posts/{post} | posts.update | update | Api\PostController |
507+
| DELETE | api/posts/{post} | posts.destroy | destroy | Api\PostController |
508+
| GET\|HEAD | api/profile | - | show | Api\UserController |
509+
| PUT | api/profile | - | update | Api\UserController |
510+
| GET\|HEAD | api/test | - | - | - |
511+
| GET\|HEAD | api/user | - | - | - |
512+
| GET\|HEAD | sanctum/csrf-cookie | sanctum.csrf-cookie | show | Laravel\Sanctum\CsrfCookieController |
513+
| GET\|HEAD | storage/{path} | storage.local | - | - |
514+
| GET\|HEAD | up | - | - | - |
515+
516+
</div>

routes/api.php

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,34 @@
1212
return response()->json(['message' => 'API is working']);
1313
});
1414

15-
// ログインは認証不要
15+
/**
16+
* ログイン(認証不要)
17+
*
18+
* ルート名: login
19+
* URI: POST /api/login
20+
* HTTPメソッド: POST
21+
*
22+
* [AuthController::class, 'login']
23+
* - コントローラークラス: App\Http\Controllers\Api\AuthController
24+
* - コントローラーメソッド: login()
25+
*
26+
* 引数:
27+
* - Request $request: リクエストオブジェクト
28+
* - email (string, required): ユーザーのメールアドレス
29+
* - password (string, required): ユーザーのパスワード
30+
*
31+
* 処理内容:
32+
* 1. メールアドレスとパスワードでバリデーション
33+
* 2. Googleログイン用アカウントの場合はエラーを返す
34+
* 3. メール・パスワードで認証を試行
35+
* 4. 認証成功時、Sanctumトークンを発行
36+
*
37+
* 返り値:
38+
* - 成功時 (200): {'token': string, 'user': User}
39+
* - バリデーションエラー (422): {'message': string, 'errors': array}
40+
* - 認証失敗 (401): {'message': string}
41+
* - サーバーエラー (500): {'message': string}
42+
*/
1643
Route::post('/login', [AuthController::class, 'login'])->name('login');
1744

1845
// Google OAuth(認証不要)

0 commit comments

Comments
 (0)