#P1734
POST /v2/comments/{commentId}/{action}
Like or Dislike a Comment
این اندپوینت برای ثبت لایک یا دیسلایک برای یک نظر مشخص استفاده میشود. عملیات مورد نظر (لایک یا دیسلایک) از طریق پارامتر action در URL تعیین میگردد.
این متد به صورت اتمیک عمل نمیکند، اما شمارندههای likes و dislikes را در مدل Comment یک واحد افزایش میدهد.
Increment Like/Dislike Counter
URL:
/v2/comments/{commentId}/{action}Method: POST
Controller: CommentController@likeOrDislike
Middleware: `authWithJwt`
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| commentId | integer | شناسه منحصر به فرد نظری که لایک یا دیسلایک میشود. |
| action | string | عملیات مورد نظر. این پارامتر باید یکی از دو مقدار زیر باشد:
|
Request Body
این اندپوینت به هیچ دادهای در بدنه درخواست (Request Body) نیاز ندارد.
Server-Side Logic
- ابتدا سیستم با استفاده از متد
findOrFail، نظر مربوط بهcommentIdرا پیدا میکند. اگر شناسه نامعتبر باشد، به طور خودکار خطای 404 بازگردانده میشود. - اگر پارامتر
actionبرابر با'like'باشد، فیلدlikesیک واحد افزایش مییابد. - اگر پارامتر
actionبرابر با'dislike'باشد، فیلدdislikesیک واحد افزایش مییابد. - در نهایت، تغییرات در دیتابیس ذخیره شده و شمارندههای جدید بازگردانده میشوند.
رفتار در صورت ارسال
action نامعتبر: اگر مقداری غیر از 'like' یا 'dislike' برای پارامتر action ارسال شود، هیچ خطایی رخ نمیدهد و هیچ شمارندهای تغییر نمیکند. درخواست با موفقیت پردازش شده و مقادیر فعلی لایک و دیسلایک بازگردانده میشود.Success Response
در صورت موفقیتآمیز بودن عملیات، سرور یک پاسخ با کد 200 به همراه مقادیر بهروز شدهی شمارندههای likes و dislikes برمیگرداند.
{
"status": true,
"time": 1715000000,
"data": {
"likes": 25,
"dislikes": 3
}
}
Error Response
- کد 404 (Not Found): در صورتی که
commentIdارسال شده در URL در دیتابیس موجود نباشد.