Skip to content

Commit dde1b06

Browse files
committed
Create Controller.php
Added a new API controller base class with an apiResponse method to standardize JSON responses for microservices
1 parent cd4c513 commit dde1b06

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

src/Http/Controller.php

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
3+
namespace Kroderdev\LaravelMicroserviceCore\Http;
4+
5+
use Illuminate\Http\JsonResponse;
6+
7+
abstract class Controller
8+
{
9+
/**
10+
* Return a standardized JSON API response.
11+
*
12+
* @param mixed $data The response data (array, object, etc).
13+
* @param string|null $message Optional message for context or status.
14+
* @param int $statusCode HTTP status code (default: 200 OK).
15+
* @param bool $success Whether the request was successful.
16+
* @return JsonResponse
17+
*/
18+
protected function apiResponse(mixed $data = null, string $message = null, int $statusCode = 200, bool $success = true): JsonResponse
19+
{
20+
return response()->json([
21+
'success' => $success,
22+
'message' => $message,
23+
'data' => $data,
24+
], $statusCode);
25+
}
26+
}

0 commit comments

Comments
 (0)