Day05-CRUD API 实作(五)Route 规划与 CRUD 实作(上)

大家好~
今天要来开始实作留言的 CRUD 了!

Route

// 查询全部 messages
Route::get('/messages',[MessageController::class,'index']);
// 检视单一笔 message
Route::get('/messages/{messageId}',[MessageController::class,'show']);

另外留言的新增、修改、删除功能,
我希望是会员才能使用的,
所以将下面三个 Route 加到上次我们建立的那个 Route::group 吧!

Route::group(['middleware' => ['auth:sanctum']], function () {

    // 新增 message
    Route::post('/messages',[MessageController::class,'store']);
    // 修改 message
    Route::put('/messages/{messageId}',[MessageController::class,'update']);
    // 删除 message
    Route::delete('/messages/{messageId}',[MessageController::class,'destroy']);
});

那我们留言预计会有的功能与 Route 就都规划好罗,
接下来开始实作每个功能吧。

Controller

在我们的 app/Http/Controllers/MessageController.php use 会用到的 class。

use App\Models\Message;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Auth;

Create

  • 流程:
    1. 验证 Request 表单
    2. 建立新 Message
    3. 回传 Response
public function store(Request $request)
{
    $validated = $request->validate([
        'title' => 'required|string|max:50',
        'content' => 'required|string|max:255'
    ]);

    $message = Auth::user()->messages()->create($validated);

    return response($message, Response::HTTP_CREATED);
}

这样我们就可以新增留言啦!
API 的测试就不多赘述啦~

今天差不多就先这样,
大家明天见啦~
若文章有任何问题,
还请大家不吝赐教!


<<:  [DAY6]Channal access token是什麽?

>>:  [DAY05] 在 Azure Machine Learning 上建立运算资源

谁温暖了资安部-终-8-1(老王与Blue)

此篇接续 第12届-iT邦帮忙铁人赛-谁温暖了资安部-8(现况) 气死我了,那个Allen 竟然不...

前端工程学习日记26天 FLEX 并排图文

https://codepen.io/pwbzvqja/pen/edea6afd0a79c662e...

数字认证(Digital Authentication)

以下是《数字身份准则》(NIST SP 800-63-3)的摘录: . 在数字认证申请人拥有并控制一...

重温-基本&UI

创立一个属於自己的App,那就需要两个必须的部份,设备与知识。 自己所使用的设备为Apple Mac...

Vaadin 工具 / 後记 - day30

Vaadin Start Vaadin 官方网站提供快速产出程序码工具,所见即所得,还可设定权限,分...