145 Commits

Author SHA1 Message Date
Rodrigo Gómez
89f459dc07 Fix #565
Change PUT by PATCH

Refactor tests for #565
2016-02-24 17:57:22 +01:00
Damien Alexandre
306f2c47cf Fix Array to string conversion error on array requirements
Fix https://github.com/nelmio/NelmioApiDocBundle/issues/773
See https://github.com/FriendsOfSymfony/FOSRestBundle/pull/1015
2016-01-08 13:04:25 +01:00
Ener-Getick
5541412e69 Fix FOSRestBundle compatibility 2015-12-02 16:19:24 +01:00
Ener-Getick
67b7b46627 Add symfony 3.0 support 2015-12-02 16:19:12 +01:00
Florian Strübe
e8a2f690ab Empty string is now a valid default parameter value that is successfully
merged with other parameters
Preventing access of uninitialized array key 'default'
Added functional test case for mergeParameters that covers this issue
2015-11-09 22:22:00 +01:00
Florian Strübe
e2d2e41f7b [ISSUE-739] ApiDoc parameters setting will override lower parameter
definitions in the hierarchy
2015-10-28 10:13:24 +01:00
William Durand
4b72190f4d
Speedup tests 2015-10-23 10:07:45 +02:00
William Durand
ce71bf0629
Fix CS 2015-10-22 14:42:59 +02:00
Sullivan SENECHAL
32de80f97f
Fix deprecated route options 2015-10-22 14:42:16 +02:00
maxime.steinhausser
6f4373cda4 Fix ApiDocExtractor to accept callable classes as controllers 2015-08-11 17:12:43 +02:00
Mikhail Shamin
be682f7d18 Change getViewCache method visibility to private 2015-07-22 11:20:20 +07:00
Mikhail Shamin
02007e957d Fix extractor view data caching 2015-07-21 17:38:44 +07:00
Antoine Bluchet
20f4cc673f Prevent error "Undefined index" when no subtype provided 2015-06-22 15:47:46 +02:00
mRoca
65345912a9 Add DunglasApiBundle doc sections 2015-06-18 12:23:07 +02:00
William Durand
a679eb8089 Merge pull request #645 from ogizanagi/dunglas/filters_collection_only
Only display filters on collections GET services
2015-06-08 14:24:59 +02:00
maxime.steinhausser
12372cca00 Only display filters on collections GET services 2015-06-08 11:42:36 +02:00
Baptiste Lafontaine
213dbdfd1c Handle "array" parameter in FOSRestBundle QueryParam or RequestParam 2015-06-08 08:43:38 +02:00
maxime.steinhausser
a080692961 Fix DunglasApiBundle filters documentation support. 2015-06-05 16:27:29 +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
Kévin Dunglas
79c1c4e4f4 Enhanced DunglasApiBundle support 2015-04-29 09:11:54 +02:00
Kévin Dunglas
c47265bb71 Fix DunglasJsonLdApiBundle support 2015-04-07 22:21:36 +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
Luciano Mammino
e0ff981653 Fixed type annotations
(avoid triggering warning on IDEs like PhpStorm
2014-12-31 17:08:41 +01:00
Damien Alexandre
a939fef59b Fix the PhpDoc Handler for @link annotation and add tests 2014-12-12 16:13:55 +01:00
lucasvanlierop
f625d9671c Fixed disabling required for HTTP PUT requests 2014-09-29 16:49:25 +02:00
lucasvanlierop
eaaa54bf11 Fixed checking HTTP method type 2014-09-29 16:17:36 +02: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
Bez Hermoso
06cfe9d48b Allow parsers to remove/replace root parameters. 2014-09-04 10:47:57 -07:00
Loick Piera
16b104edec Added support for Security annotation 2014-08-28 00:12:34 +02:00
Sergey Polischook
3e6a47818e Update PhpDocHandler.php
https://github.com/nelmio/NelmioApiDocBundle/issues/477
2014-08-16 01:59:39 +03:00
Bez Hermoso
cc0d445601 Added caching layer with the controllers and routing files as resources. 2014-07-31 00:43:59 -07:00
Bez Hermoso
a8221d4515 Post-parser support for response map models. 2014-07-29 10:25:06 -07:00
Bez Hermoso
9d3c0a8c29 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: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
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
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