|
6 | 6 |
|
7 | 7 | ## Description
|
8 | 8 |
|
9 |
| -Framework agnostic [JSON API](http://jsonapi.org/) implementation. |
| 9 | +A good API is one of most effective ways to improve the experience for your clients. Standardized approaches for data formats and communication protocols increase productivity and make integration between applications smooth. |
10 | 10 |
|
11 |
| -This package covers encoding PHP objects to JavaScript Object Notation (JSON) as described in [JSON API Format](http://jsonapi.org/format/). |
| 11 | +This framework agnostic package fully implements [JSON API](http://jsonapi.org/) specification and helps you to focus on core application functionality rather than on protocol implementation. It supports document structure, errors and data fetching as described in [JSON API Format](http://jsonapi.org/format/). As it is designed to stay framework agnostic for practical usage it requires framework integration. [Limoncello](https://github.com/neomerx/limoncello) is an example of integration with Symfony based projects. |
| 12 | + |
| 13 | +If you are looking for quick start application consider [Limoncello collins](https://github.com/neomerx/limoncello-collins) which is a pre-configured Laravel-based quick start application. |
| 14 | + |
| 15 | +Encoding fully support |
12 | 16 |
|
13 | 17 | * Resource attributes and complex attributes
|
| 18 | +* Compound documents with included resources |
| 19 | +* Circular resource references |
14 | 20 | * Meta information for document, resources and link objects
|
15 | 21 | * Link objects (including links as references, links to null and empty arrays)
|
16 |
| -* Compound documents with included resources |
17 | 22 | * Limits for input data parsing depth
|
18 |
| -* Circular references in resources |
19 | 23 | * Sparse fieldset filter rules
|
20 | 24 | * Pagination links
|
21 | 25 | * Errors
|
22 | 26 |
|
23 |
| -## Versioning |
| 27 | +The package covers all the complexity of parsing and checking request parameters and headers. For instance it helps to correctly respond with ```Unsupported Media Type``` (HTTP code 415) and ```Not Acceptable``` (HTTP code 406) to invalid requests. You don't need to manually validate all input parameters on every request. You can configure what parameters are supported by your services and this package will check incoming requests automatically. It greatly simplifies API development. All parameters from the specification are supported |
| 28 | + |
| 29 | +* Inclusion of related resources |
| 30 | +* Sparse fields |
| 31 | +* Sorting |
| 32 | +* Pagination |
| 33 | +* Filtering |
24 | 34 |
|
25 |
| -This package implements the latest [JSON API](http://jsonapi.org/) version RC3 and is using [Semantic Versioning](http://semver.org/). |
26 |
| -The package version reflects the fact JSON API specification has not been finally released yet but not the package readiness. |
| 35 | +## Contributing |
| 36 | + |
| 37 | +JSON API specification is at a third release candidate state and may have some tweaks. If you have spotted any specification changes that are not reflected in this package please post an [issue](https://github.com/neomerx/json-api/issues). |
| 38 | + |
| 39 | +Thank you for your support :star:. |
27 | 40 |
|
28 | 41 | ## Install
|
29 | 42 |
|
@@ -63,7 +76,7 @@ will output
|
63 | 76 | }
|
64 | 77 | ```
|
65 | 78 |
|
66 |
| -The ```AuthorSchema``` looks like |
| 79 | +The ```AuthorSchema``` provides information about resource's fields and might look like |
67 | 80 |
|
68 | 81 | ```php
|
69 | 82 | class AuthorSchema extends SchemaProvider
|
@@ -438,6 +451,10 @@ Do not hesitate to contact us on [. |
| 457 | + |
441 | 458 | ## Credits
|
442 | 459 |
|
443 | 460 | - [Neomerx](https://github.com/neomerx)
|
|
0 commit comments