Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/diegograssato/sf-api-problem
Symfony API Problem
https://github.com/diegograssato/sf-api-problem
Last synced: 6 days ago
JSON representation
Symfony API Problem
- Host: GitHub
- URL: https://github.com/diegograssato/sf-api-problem
- Owner: diegograssato
- License: bsd-3-clause
- Created: 2016-07-03T22:34:56.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2016-07-04T02:21:50.000Z (over 8 years ago)
- Last Synced: 2024-04-03T14:42:59.052Z (8 months ago)
- Language: PHP
- Homepage:
- Size: 2.93 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
Symfony API Problem
===================## Introduction
This library supplies a Symfony 3 compatible Response class, that accepts an ApiProblem object and returns a JSON object compilant with the [Problem Details for HTTP APIs](http://tools.ietf.org/html/draft-nottingham-http-problem-06) specification.
It is based on, and uses the ApiProblem class from, the [ZF Campus `zf-api-problem`](https://github.com/zfcampus/zf-api-problem) library for Zend Framework 2.
## Installation
Run the following command to install using `composer`:
```bash
$ composer require "diegograssato/sf-api-problem:~1.0"
```Or add the following line to your `composer.json`:
```javascript
"require": {
"diegograssato/sf-api-problem": "~1.0"
}
```## Usage
```php
use DTUX\ApiProblem\ApiProblem;
use DTUX\ApiProblem\ApiProblemResponse;class FakeController
{public function fetch($id)
{
$entity = $this->service->fetch($id);if (!$entity) {
return new ApiProblemResponse(new ApiProblem(404, 'Entity not found'));
}return $entity;
}
}
```Configure listener
```yaml
services:
you_bundle.kernel.listener.api_exception:
class: DTUX\ApiProblem\EventListener\ApiExceptionListener
arguments:
- '@logger'
tags:
- { name: kernel.event_listener, event: kernel.exception, method: onKernelException }
```## License
This project is released under the BSD 3-Clause license, and is based on parts of the [ZF Campus `zf-api-problem`](https://github.com/zfcampus/zf-api-problem) library for Zend Framework 2.