229 Commits

Author SHA1 Message Date
William Durand
1e33a8821c
Refactor tests 2015-05-16 12:48:11 +02:00
William Durand
c71fa155d5
Introduce the concept of 'views'
Rewrite #619
2015-05-16 12:17:59 +02:00
William Durand
94ba751848
fix CS 2015-05-15 17:42:03 +02:00
William Durand
f601dc17fb
Merge branch 'Nyholm-issue-404' 2015-05-15 17:41:37 +02:00
Joshua Thijssen
6052643b9f
Initial setup on a multi-api documentation 2015-05-15 17:41:22 +02:00
Kévin Dunglas
9c465e37ca Fix DunglasApi filters supports. Fix tests. 2015-05-14 23:23:41 +02:00
Stéphane Reuille
dc20b249e7 fix memory limit issue wirh entity list
Allow to disable mapping of entity list to avoid memory limit error on long list
2015-05-13 14:51:15 +02:00
Kévin Dunglas
79c1c4e4f4 Enhanced DunglasApiBundle support 2015-04-29 09:11:54 +02:00
dtonder
d73531aeb5 - added javascript for collapsing sections in json-response, - fixed usage of private service-alias (that will be removed by RemovePrivateAliases-compiler pass) 2015-03-29 14:37:06 +02:00
Kévin Dunglas
adc03ba26d DunglasJsonLdApiBundle support 2015-03-20 09:53:48 +01:00
William Durand
d8c05dbf57 Merge pull request #584 from PedroTroller/feature/form-options
Add form options to ApiDoc input
2015-03-13 17:22:24 +01:00
pedro
d121e28d69 Add form options to ApiDoc input
Update index.md

Remove unused variable. $arguments is now named $options
2015-03-13 16:15:29 +01:00
William Durand
0a1cef77ad
cs 2015-03-06 11:19:08 +01:00
Damien Alexandre
a939fef59b Fix the PhpDoc Handler for @link annotation and add tests 2014-12-12 16:13:55 +01:00
Bez Hermoso
859421df9a Form errors parser. Mirrored actual form-errors response by FOSRest. Made sure that FieldErrors is not duplicated. 2014-10-10 11:59:19 -07:00
William Durand
c69ab200d0 Merge pull request #524 from lucasvanlierop/fix-no-required-parameters-for-put-requests
Fix no required parameters for PUT requests
2014-10-08 11:34:06 +02:00
Martin Janser
b8cc4d9264 Fix parsing of filters, default values, descriptions and base path in SwaggerFormatter 2014-10-06 10:50:14 +02:00
lucasvanlierop
b4a6825db7 Fixed tests by adding separate form type 2014-09-30 13:54:30 +02:00
lucasvanlierop
f625d9671c Fixed disabling required for HTTP PUT requests 2014-09-29 16:49:25 +02:00
Bez Hermoso
5fa69a0504 Tests for aliased collections; Swagger formatting for wrapped collections. 2014-09-04 11:19:54 -07:00
Bez Hermoso
c56aceaef5 Updated regex pattern to base on http://fr2.php.net/manual/en/language.oop5.basic.php 2014-09-04 10:47:58 -07:00
Bez Hermoso
4b7dbcd478 Improved directive parsing, and separate test class for parsing directives. 2014-09-04 10:47:57 -07:00
Bez Hermoso
928a23e2c8 Updated regex pattern matching and added tests for parsing array<..> directives. 2014-09-04 10:47:57 -07:00
Bez Hermoso
f5c1b06807 Support for collections. 2014-09-04 10:47:57 -07:00
Loick Piera
16b104edec Added support for Security annotation 2014-08-28 00:12:34 +02:00
thenetexperts
e1c7e8a5bd adding optional color codes for tags annotation 2014-08-25 11:27:49 +02:00
Samuel ROZE
3e3ef87b79 Added nested JMS groups exclusion 2014-08-18 11:32:36 +02:00
Bez Hermoso
b7f5fb58d4 Added definition when is provided. 2014-08-04 10:58:41 -07:00
Bez Hermoso
cc0d445601 Added caching layer with the controllers and routing files as resources. 2014-07-31 00:43:59 -07:00
William Durand
75eb7ca356 Merge pull request #418 from bezhermoso/swagger
Swagger support
2014-07-30 11:23:46 +02:00
William DURAND
6c7c53e78d Fix CS & file permissions 2014-07-30 10:50:23 +02:00
Bez Hermoso
07c6557fc5 Test fixes. 2014-07-29 10:25:06 -07:00
Bez Hermoso
9824a6ba3c Added default value handling. 2014-07-29 10:25:06 -07:00
Bez Hermoso
abaeb374e8 Added 'type' to API item if applicable. 2014-07-29 10:25:06 -07:00
Bez Hermoso
bb723bdb40 Added new tests for Swagger doc controllers. Also some CS fixes. 2014-07-29 10:25:06 -07:00
Bez Hermoso
6f85aed33c Swagger support:
Unified data types [actualType and subType]
Updated tests.
JMS parsing fixes; updated {Validator,FormType}Parser, FOSRestHandler, and AbstractFormatter, and updated DataTypes enum.
Modified dataType checking.
Updated tests.
Updated DataTypes enum.
Quick fix and added doc comments.
CS fixes.
Refactored FormTypeParser to produce nested parameters. Updated tests accordingly.
Logical and CS fixes.
Sub-forms and more tests.
Logical and CS fixes.
Swagger support: created formatter.
Configuration and resourcePath logic update.
ApiDoc annotation update. Updated formatter and added tests.
Parameter formatting.
Added tests for SwaggerFormatter.
Added  option in annotation, and the corresponding logic for parsing the supplied values and processing them in the formatter.
Routing update.
Updated tests.
Removed unused dependency and updated doc comments.
Renamed 'responseModels' to 'responseMap'
Update the resource filtering and formatting of response messages.
Updated check for 200 response model.
Ignore data_class and always use form-type to avoid conflicts.
Fix: add 'type' even if '' is specified.
Refactored responseMap; added parsedResponseMap. Added tests and updated some.
Fix: add 'type' even if '' is specified.
Initial commit of command.
Finished logic for dumping files.
Updated doc comment; added license and added more meaningful class comment.

Array of models support.
2014-07-29 10:25:05 -07:00
Sander Marechal
b66e5c4449 Parse JSM\Inline, fixes #372 2014-07-08 13:20:13 +02:00
Giorgio Premi
e2c2d00075 FormTypeParser: FormType constructor should be called when possible 2014-06-27 10:58:53 +02:00
William DURAND
0030ce6825 Merge pull request #358 from pborreli/typos 2014-06-27 10:22:56 +02:00
Pascal Borreli
dbc3fcbb73 Fixed typos 2014-06-27 10:22:36 +02:00
Bez Hermoso
882f658599 Added 'default' parameters in {JmsMetadata,Validator}Parser, and FOSRestHandler. 2014-06-27 10:19:28 +02:00
William Durand
0d1bde9f8a Merge pull request #352 from sroze/output-post-parser
Add PostParserInterface to JmsMetadataParser to get ValidatorParser found children parsed
2014-06-27 10:14:51 +02:00
Bez Hermoso
3a31c93c94 Unified data types [actualType and subType]
Updated tests.

JMS parsing fixes; updated {Validator,FormType}Parser, FOSRestHandler, and AbstractFormatter, and updated DataTypes enum.

Modified dataType checking.

Updated tests.

Updated DataTypes enum.

Quick fix and added doc comments.

CS fixes.

Refactored FormTypeParser to produce nested parameters. Updated tests accordingly.

Logical and CS fixes.

Sub-forms and more tests.

Ignore data_class and always use form-type to avoid conflicts.

Quick fix.
2014-06-27 09:35:18 +02:00
Jonathan Chan
d4e12d66f2 Add default values support for form types
Adding displaying default value in Markdown

updating tests to work with new default value
2014-06-26 11:20:49 -04:00
Even André Fiskvik
b4e874e2dc Add support for nullable option in RequestParam 2014-06-25 10:19:30 +02:00
Bez Hermoso
14d1021c8b Unified data types [actualType and subType]
This is the result of https://github.com/nelmio/NelmioApiDocBundle/issues/410.

This PR aims to provide a uniform way of declaring data-types of parameters for
parsers and handlers to follow. In turn, this would allow formatters to
determine data-types in a cleaner and less volatile manner. (See use-case that
can be improved with this PR:
https://github.com/nelmio/NelmioApiDocBundle/blob/master/Formatter/AbstractFormatter.php#L103)

This is possible by the addition two properties to each property item in
`response`, and `parameters` fields in each API endpoint produced by the
`ApiDocExtractor`:

* `actualType` Contains a value from one of the `DataTypes` class constants.

* `subType` Can contain either `null`, or any other `DataTypes` class constant.
This is relevant when the `actualType` is a `DataTypes::COLLECTION`, wherein
`subType` would specify the type of the collection items. It is also relevant
when `actualType` is a `DataTypes::MODEL`, wherein `subType` would contain an
identifier of the model (the FQCN or anything the parser would wish to specify)

Examples:

```php

array(
    'id' => array(
        'dataType' => 'integer',
        'actualType' => DataTypes::INTEGER,
        'subType' => null,
    ),
    'profile' => array(
        'dataType' => 'object (Profile)',
        'actualType' => DataTypes::MODEL,
        'subType' => 'Foo\Entity\Profile',
        'children' => array(
            'name' => array(
                'dataType' => 'string',
                'actualType' => DataTypes::STRING,
                'subType' => null,
             ),
            'birthDate' => array(
                'dataType' => 'date',
                'actualType' => DataTypes::DATE,
                'subType' => null,
            ),
        )
    ),
    'languages' => array(
        'dataType' => 'array of strings',
        'actualType' => DataTypes::COLLECTION,
        'subType' => DataTypes::STRING,
    ),
    'roles' => array(
        'dataType' => 'array of choices',
        'actualType' => DataTypes::COLLECTION,
        'subType' => DataTypes::ENUM,
    ),
    'groups' => array(
        'dataType' => 'array of objects (Group)',
        'actualType' => DataTypes::COLLECTION,
        'subType' => 'Foo\Entity\Group',
    ),
    'profileRevisions' => array(
         'dataType' => 'array of objects (Profile)',
         'actualType' => DataTypes::COLLECTION,
         'subType' => 'Foo\Entity\Profile',
    ),
    'address' => array(
        'dataType' => 'object (a_type_a_custom_JMS_serializer_handler_handles)',
        'actualType' => DataTypes::MODEL,
        'subType' => 'a_type_a_custom_JMS_serializer_handler_handles',
    ),
);
```

When a formatter omits the `dataType` property or leaves it blank, it is
inferred within `ApiDocExtractor` before everything is passed to formatters.
2014-06-25 09:05:48 +02:00
William DURAND
b48650a9e0 Fix CS 2014-06-25 08:52:01 +02:00
Christophe Coevoet
8d3fd662bf Fixed the retrieval of the validation MetadataFactory
The service is private so getting it from the container get() method is invalid and it does not work anymore in Symfony 2.5 because the service gets inlined.
2014-06-18 09:38:16 +02:00
Sandro Meier
dfd094371d Implement Tags for functions. 2014-05-27 13:33:50 +02:00
Loick Piera
d0149c65ab fix #357 2014-05-16 22:04:24 +02:00