1
1
# DunglasApiBundle
2
2
3
- DunglasApiBundle is an easy to use and powerful system to create [ hypermedia-driven REST APIs] ( http ://en.wikipedia.org/wiki/HATEOAS) .
4
- It is a component of the [ Dunglas's API Platform framework] ( http ://api-platform.com) and it can be used
5
- as a standalone bundle for [ the Symfony framework] ( http ://symfony.com) .
3
+ DunglasApiBundle is an easy to use and powerful system to create [ hypermedia-driven REST APIs] ( https ://en.wikipedia.org/wiki/HATEOAS) .
4
+ It is a component of the [ API Platform framework] ( https ://api-platform.com) and it can be used
5
+ as a standalone bundle for [ the Symfony framework] ( https ://symfony.com) .
6
6
7
7
It embraces [ JSON for Linked Data (JSON-LD)] ( http://json-ld.org ) and [ Hydra Core Vocabulary] ( http://www.hydra-cg.com ) web standards.
8
8
@@ -15,99 +15,10 @@ high performance API-first projects.
15
15
[ ![ Dependency Status] ( https://www.versioneye.com/user/projects/5552e93306c318a32a0000fa/badge.svg?style=flat )] ( https://www.versioneye.com/user/projects/5552e93306c318a32a0000fa )
16
16
[ ![ HHVM Status] ( http://hhvm.h4cc.de/badge/dunglas/api-bundle.svg )] ( http://hhvm.h4cc.de/package/dunglas/api-bundle )
17
17
18
- ## Features
18
+ ## Documentation
19
19
20
- Here is the fully-featured REST API you'll get in minutes, I promise:
20
+ The documentation of this bundle is available online and can be edited in
21
+ [ its dedicated repository] ( https://github.com/api-platform/doc ) .
21
22
22
- * CRUD support through the API for Doctrine entities: list, ` GET ` , ` POST ` , ` PUT ` and ` DELETE `
23
- * Hypermedia implementing [ JSON-LD] ( http://json-ld.org )
24
- * Machine-readable documentation of the API in the [ Hydra] ( http://hydra-cg.com ) format, guessed from PHPDoc, Serializer,
25
- Validator and Doctrine ORM metadata
26
- * Human-readable Swagger-like documentation including a sandbox automatically generated thanks to the integration with
27
- [ NelmioApiDoc] ( https://github.com/nelmio/NelmioApiDocBundle )
28
- * Pagination (compliant with Hydra)
29
- * List filters (compliant with Hydra)
30
- * Validation using the Symfony Validator Component, with groups support
31
- * Errors serialization (compliant with Hydra)
32
- * Custom serialization using the Symfony Serializer Component, with groups support and the possibility to embed relations
33
- * Automatic routes registration
34
- * Automatic entrypoint generation giving access to all resources
35
- * ` \DateTime ` serialization and deserialization
36
- * [ FOSUserBundle] ( https://github.com/FriendsOfSymfony/FOSUserBundle ) integration (user management)
37
- * Easy installation thanks to API Platform
38
-
39
- Everything is fully customizable through a powerful event system and strong OOP.
40
- This bundle is documented and tested with Behat (take a look at [ the ` features/ ` directory] ( features/ ) ).
41
-
42
- ![ Screenshot of DunglasApiBundle integrated with NelmioApiDocBundle] ( Resources/doc/images/NelmioApiDocBundle.png )
43
-
44
- ## Official documentation
45
-
46
- 1 . [ Getting Started] ( Resources/doc/getting-started.md )
47
- 1 . [ Installing DunglasApiBundle] ( Resources/doc/getting-started.md#installing-dunglasapibundle )
48
- 2 . [ Configuring the API] ( Resources/doc/getting-started.md#configuring-the-api )
49
- 3 . [ Mapping the entities] ( Resources/doc/getting-started.md#mapping-the-entities )
50
- 4 . [ Registering the services] ( Resources/doc/getting-started.md#registering-the-services )
51
- 2 . [ NelmioApiDocBundle integration] ( Resources/doc/nelmio-api-doc.md )
52
- 3 . [ Operations] ( Resources/doc/operations.md )
53
- 1 . [ Disabling operations] ( Resources/doc/operations.md#disabling-operations )
54
- 2 . [ Creating custom operations] ( Resources/doc/operations.md#creating-custom-operations )
55
- 4 . [ Data providers] ( Resources/doc/data-providers.md )
56
- 1 . [ Creating a custom data provider] ( Resources/doc/data-providers.md#creating-a-custom-data-provider )
57
- 2 . [ Returning a paged collection] ( Resources/doc/data-providers.md#returning-a-paged-collection )
58
- 3 . [ Supporting filters] ( Resources/doc/data-providers.md#supporting-filters )
59
- 4 . [ Extending the Doctrine Data Provider] ( Resources/doc/data-providers.md#extending-the-doctrine-data-provider )
60
- 5 . [ Filters] ( Resources/doc/filters.md )
61
- 1 . [ Search filter] ( Resources/doc/filters.md#search-filter )
62
- 2 . [ Date filter] ( Resources/doc/filters.md#date-filter )
63
- 1 . [ Managing ` null ` values] ( Resources/doc/filters.md#managing-null-values )
64
- 3 . [ Order filter] ( Resources/doc/filters.md#order-filter )
65
- 1 . [ Using a custom order query parameter name] ( Resources/doc/filters.md#using-a-custom-order-query-parameter-name )
66
- 4 . [ Enabling a filter for all properties of a resource] ( Resources/doc/filters.md#enabling-a-filter-for-all-properties-of-a-resource )
67
- 5 . [ Creating custom filters] ( Resources/doc/filters.md#creating-custom-filters )
68
- 1 . [ Creating custom Doctrine ORM filters] ( Resources/doc/filters.md#creating-custom-doctrine-orm-filters )
69
- 2 . [ Overriding extraction of properties from the request] ( Resources/doc/filters.md#overriding-extraction-of-properties-from-the-request )
70
- 6 . [ Serialization groups and relations] ( Resources/doc/serialization-groups-and-relations.md )
71
- 1 . [ Using serialization groups] ( Resources/doc/serialization-groups-and-relations.md#using-serialization-groups )
72
- 2 . [ Annotations] ( Resources/doc/serialization-groups-and-relations.md#annotations )
73
- 3 . [ Embedding relations] ( Resources/doc/serialization-groups-and-relations.md#embedding-relations )
74
- 1 . [ Normalization] ( Resources/doc/serialization-groups-and-relations.md#normalization )
75
- 2 . [ Denormalization] ( Resources/doc/serialization-groups-and-relations.md#denormalization )
76
- 4 . [ Name conversion] ( Resources/doc/serialization-groups-and-relations.md#name-conversion )
77
- 5 . [ Entity identifier case] ( Resources/doc/serialization-groups-and-relations.md#entity-identifier-case )
78
- 7 . [ Validation] ( Resources/doc/validation.md )
79
- 1 . [ Using validation groups] ( Resources/doc/validation.md#using-validation-groups )
80
- 8 . [ The event system] ( Resources/doc/the-event-system.md )
81
- 1 . [ Retrieving list] ( Resources/doc/the-event-system.md#retrieving-list )
82
- 2 . [ Retrieving item] ( Resources/doc/the-event-system.md#retrieving-item )
83
- 3 . [ Creating item] ( Resources/doc/the-event-system.md#creating-item )
84
- 4 . [ Updating item] ( Resources/doc/the-event-system.md#updating-item )
85
- 5 . [ Deleting item] ( Resources/doc/the-event-system.md#deleting-item )
86
- 6 . [ JSON-LD context builder] ( Resources/doc/the-event-system.md#json-ld-context-builder )
87
- 7 . [ Registering an event listener] ( Resources/doc/the-event-system.md#registering-an-event-listener )
88
- 9 . [ Resources] ( Resources/doc/resources.md )
89
- 1 . [ Using a custom ` Resource ` class] ( Resources/doc/resources.md#using-a-custom-resource-class )
90
- 10 . [ Controllers] ( Resources/doc/controllers.md )
91
- 1 . [ Using a custom controller] ( Resources/doc/controllers.md#using-a-custom-controller )
92
- 11 . [ FOSUserBundle integration] ( Resources/doc/fosuser-bundle.md#fosuser-bundle-integration )
93
- 1 . [ Creating a ` User ` entity with serialization groups] ( Resources/doc/fosuser-bundle.md#creating-a-user-entity-with-serialization-groups )
94
- 12 . [ Using external (JSON-LD) vocabularies] ( Resources/doc/external-vocabularies.md )
95
- 13 . [ Performances] ( Resources/doc/performances.md )
96
- 1 . [ Enabling the metadata cache] ( Resources/doc/performances.md#enabling-the-metadata-cache )
97
- 14 . [ AngularJS integration] ( Resources/doc/angular-integration.md )
98
-
99
- ## Other resources
100
-
101
- ### Filters
102
-
103
- * [ LoopBackApiBundle] ( https://github.com/theofidry/LoopBackApiBundle ) : provides a set of Doctrine ORM filters for more advanced query operations
104
-
105
- ### Slides
106
-
107
- * (french) [ A la découverte de API Platform (Symfony Live Paris 2015)] ( http://dunglas.fr/2015/04/mes-slides-du-symfony-live-2015-a-la-decouverte-de-api-platform/ )
108
- * (french) [ API-first et Linked Data avec Symfony (sfPot Lille 2015)] ( http://les-tilleuls.coop/slides/dunglas/slides-sfPot-2015-01-15/#/ )
109
-
110
- ## Credits
111
-
112
- DunglasApiBundle is part of the API Platform project. It is developed by [ Kévin Dunglas] ( http://dunglas.fr ) ,
113
- [ Les-Tilleuls.coop] ( http://les-tilleuls.coop ) and [ awesome contributors] ( https://github.com/dunglas/DunglasApiBundle/graphs/contributors ) .
23
+ * [ Get started with API Platform] ( https://api-platform.com/doc/1.0/getting-started/ )
24
+ * [ A documentation] ( https://api-platform.com/doc/1.0/api-bundle/ )
0 commit comments