garphild/json-api-response

Response interface for common json api

1.0.11 2020-09-02 10:57 UTC

This package is auto-updated.

Last update: 2024-09-29 06:14:23 UTC


README

Centralized managment of json response.

Singleton.

Can be multiple managers, but why?

Default response structure

{
  'status': <number>,
  'data': <array>,
  'errors': <array>
}

Customize structure

class AnotherResponseModel implements \Garphild\ApiResponse\IResponseModel {
  ...
}
$manager = \Garphild\ApiResponse\ApiResponseManager::instance();
$manager->changeResponseModel(new AnotherResponseModel());

Functions

add data to responce

$manager->setField('name', 123);

get current data

$manager->getField('name');
$manager->getData();

send data to client

$manager->send();
$manager->finalize();

work with status codes

$manager->forbidden();
$manager->notFound();
$manager->badRequest();
$manager->terminateWithHttpCode(200);