118 Commits

Author SHA1 Message Date
Alexey
d8b5ab9f71
Fix deprecations (#8)
* fix symfony deprecations
2022-10-07 15:32:38 +03:00
Vitaliy Chesnokov
99b9d4f486
Fix generateHumanReadableTypes 2019-04-29 12:39:48 +03:00
Vitaliy Chesnokov
d78f8887a9
Pass the data about field name and field class to template 2019-04-29 12:39:45 +03:00
Vitaliy Chesnokov
b7464a93b9
* Range Constraint parsing in the ValidationParser
* Better formatting form Length constraint description
* Allow to define the input name for the ValidationParser
2019-04-25 21:55:41 +03:00
Vitaliy Chesnokov
1c4f003e76
Doc generation for the specific API version 2019-04-25 21:50:28 +03:00
Guilhem N
b01128dc13 Merge pull request #841 from flip111/patch-1
Update ApiDocExtractor.php
2016-12-29 12:21:15 +01:00
Martin Le Guillou
aada3151aa enable ApiDocExtractor overriding 2016-05-16 15:59:41 +02:00
flip111
8921c48b32 Update ApiDocExtractor.php 2016-04-29 18:29:39 +02:00
Rodrigo Gómez
89f459dc07 Fix #565
Change PUT by PATCH

Refactor tests for #565
2016-02-24 17:57:22 +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
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
Antoine Bluchet
20f4cc673f Prevent error "Undefined index" when no subtype provided 2015-06-22 15:47:46 +02:00
William Durand
c71fa155d5
Introduce the concept of 'views'
Rewrite #619
2015-05-16 12:17:59 +02:00
Joshua Thijssen
6052643b9f
Initial setup on a multi-api documentation 2015-05-15 17:41:22 +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
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
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
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
Samuel ROZE
3f66888f00 Add PostParserInterface to JmsMetadataParser to get ValidatorParser found children parsed. 2014-03-20 16:39:36 +01:00
jdeveloper
dea78901a0 Added exclude_envs to ApiDoc annotation to exclude the documentation from the specified environments 2014-01-20 13:24:41 +01:00
Max Romanovsky
e4ec8e79f3 Fixed ApiDoc for controllers enhanced with JMS CG with Doctrine Common 2014-01-13 19:10:07 +03:00
William Durand
393dbaf6ed Merge pull request #282 from sroze/patch-1
Fix PHPDoc
2013-12-28 09:43:50 -08:00
William DURAND
627130637d Merge PR #288 from piotrantosik/feature/selectparsers 2013-12-28 18:42:51 +01:00
Piotr Antosik
3fdbfbed1c select used parsers 2013-12-28 18:41:59 +01:00
Marc J. Schmidt
ead8174192 Outsourced the parsing of the classic phpDoc into a extra handler.
This makes it possible to overwrite route-requirements/description through a own handler.
Otherwise it's impossible e.g. to overwrite a `@param string $page` annotation via a own handler.
2013-12-11 01:40:16 +01:00
Samuel ROZE
95e8c9d200 Fix typo
$route parameter of ApiDocExtractor::get is a string. Passing a Route object throw an error.
2013-11-21 15:05:45 +01:00
Samuel ROZE
184a364fa4 Merge output parameters 2013-11-16 17:29:23 +01:00
William DURAND
d7fd929379 Fix CS 2013-11-14 10:33:57 +01:00
Florent DUBOST
f16aa64cf0 more readable 2013-10-11 16:40:26 +02:00
Florent DUBOST
56fdd4e64c Adding possibilty to name resource 2013-10-11 15:44:31 +02:00
William Durand
c2d36d9ef0 Merge pull request #221 from kmfk/documentation-in-handler
Modify the `documentation` property inside annotation handlers
2013-09-12 01:51:49 -07:00
Vincent CHALAMON
a1517543e8 Enable PHPDoc @link feature 2013-08-16 19:18:05 +02:00
keith kirk
f67dfb05db adds the ability to modify the documentation property inside custom extractor handlers 2013-07-25 13:47:54 -07:00