TesteController.php 895 B

1234567891011121314151617181920212223242526272829
  1. <?php
  2. namespace Controllers;
  3. use Libs\ResponseLib;
  4. use Models\TesteModel;
  5. use Psr\Http\Message\ServerRequestInterface;
  6. class TesteController
  7. {
  8. public function __invoke(ServerRequestInterface $request)
  9. {
  10. $body = json_decode((string) $request->getBody(), true) ?? [];
  11. $field1 = $body['field1'] ?? '';
  12. $field2 = $body['field2'] ?? null;
  13. if (empty($field1)) {
  14. return ResponseLib::sendFail("Missing required field: field1", [], "E_VALIDATE")->withStatus(400);
  15. }
  16. try {
  17. $model = new TesteModel();
  18. $saved = $model->insert((string)$field1, $field2 !== null ? (string)$field2 : null);
  19. return ResponseLib::sendOk($saved, "S_CREATED");
  20. } catch (\Throwable $e) {
  21. return ResponseLib::sendFail("Database error: " . $e->getMessage(), [], "E_DB")->withStatus(500);
  22. }
  23. }
  24. }