68 Commits

Author SHA1 Message Date
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
Simon Schick
912178dc88 Hide “_scheme” in the list of requirements per URL
+ disable sandbox if the scheme of the URL doesn’t match the scheme, the
documentation is opened in
2013-12-28 18:52:32 +01:00
Piotr Antosik
3fdbfbed1c select used parsers 2013-12-28 18:41:59 +01:00
Samuel ROZE
1112cca784 Add support of All constraint 2013-11-18 10:24:56 +01:00
Samuel ROZE
184a364fa4 Merge output parameters 2013-11-16 17:29:23 +01:00
William DURAND
3ce5dca429 Fix a failing test 2013-11-14 13:26:10 +01:00
William DURAND
87328e27f5 Merge pull request #206 from dothiv/master
Show authorized roles in key icon tooltip
2013-11-14 11:17:06 +01:00
Florent DUBOST
8f6ac59c97 Adding test for named resource 2013-10-11 16:18:02 +02:00
Jordi Boggiano
2a87244869 Fix build 2013-07-05 00:27:42 +02:00
Nils Wisiol
f764773c89 authenticationRoles can be set to appear in the tooltip of the key icon for API calls that require authentication. 2013-06-24 14:27:22 +02:00
Pierre-Yves LEBECQ
13efea8975 Added support for the jms version annotations in formatters 2013-05-12 14:54:01 +02:00
William Durand
3e8b896d00 Merge pull request #191 from iambrosi/patch-1
Added check for deprecated setting
2013-05-10 01:30:50 -07:00
Ismael Ambrosi
0c416c1788 Fixed tests for deprecated indicator 2013-05-09 23:59:03 -03:00
marapper
a97c65da70 Make parameters description conform to others 2013-05-07 23:11:32 +04:00
marapper
80b5162c83 Add @QueryParam default support 2013-05-06 10:04:13 +02:00
William Durand
5567f74692 Merge pull request #179 from lightglitch/fix-178
Fix parameter name boundary in regex
2013-05-06 01:00:51 -07:00
Mario Franco
e6b6987141 Fix formatter tests 2013-05-03 14:49:17 +01:00
Benjamin Laugueux
6859384983 Handle the prefix form when parseForm.
Cf. #166 and thanks to @madesst.
2013-04-30 16:19:00 +02:00
Benjamin Laugueux
5cc7cf212d Added support for host parameter 2013-04-11 22:03:40 +02:00
Patryk Kala
3b6e9da91a Ability to mark function as deprecated 2013-03-31 20:35:46 +02:00
Jordan Stout
afd07dc570 fixed failing tests 2013-03-26 11:29:50 -07:00
Pierre-Yves LEBECQ
67db76990e [Formatter] Fixed MarkdownFormatter. 2013-03-21 14:36:52 +01:00
William DURAND
2fd3f33ad8 Fix 8c9b8331d066269d48ca374280937be264767ee6
* tests
* CS
2013-03-17 16:40:39 +01:00
William DURAND
3fe7e15f58 Merge pull request #121 from relaxnow/feature/issue-109-pr2
Issue-109: Fixed infinite recursion on JMS Types that reference themselves or their parents
2013-03-16 18:50:45 +01:00
William DURAND
a7a2d8d1bb Fix tests
Related to 43b8f898455b103f03752b544c828d98fb3f3f49
2013-03-16 18:45:41 +01:00
William DURAND
43b8f89845 Merge pull request #123 from fvilpoix/authentication_attribute
adding 'authentication' attribute
2013-03-16 18:22:28 +01:00
Jordi Boggiano
b3d917c9f4 Do not require sf2.2 2013-02-15 13:33:05 +01:00
Jordi Boggiano
efb4bb29dd Merge remote-tracking branch 'stewe/jms_serlializer_1_0_upgrade' 2013-02-15 13:16:59 +01:00
Stefano Sala
07bb37ac76 Finish upgrade to jms serializer 1.0
Updated deprecated MinLength assertion to Length
Updated array of object parsing
Handled deprecated calls because of using
AbstractType (not sure if it is the best way, though)
2013-02-11 14:42:17 +01:00
fvilpoix
0aa1619c5f adding 'authentication' attribute 2012-12-26 12:23:28 +01:00
Boy Baukema
fe76b6df67 Fixed infinite recursion on JMS Types that reference themselves or their parents. 2012-12-20 10:12:50 +01:00
Baldur Rensch
ef5cbd9b73 Added padlock icon for secure routes
This fixes #115
- Added an https property to the annotation
- Added glyphicon padlock icon
- Updated Templates
- Updated Unit tests
2012-12-10 10:21:04 -08:00
William DURAND
b31d439dac Fix tests 2012-11-17 18:09:38 +01:00
FlorianLB
6b66edbcda RequestParam annotation create a parameter item 2012-11-14 23:59:06 +01:00
Evan Villemez
29c3798124 implemented nested parameter handling in AbstractFormatter, updated MarkdownFormatter and HtmlFormatter to use it 2012-09-10 09:46:02 -04:00
Evan Villemez
8c3466f6ed abstracted docblock comment extraction, implemented in JmsMetadataParser to get parameter descriptions 2012-08-31 14:57:42 -04:00
Evan Villemez
0d7c2272bc updated documentation to reflect return property, updated markdown formatter tests to reflect parameter readonly property 2012-08-28 16:43:47 -04:00
Evan Villemez
0af506f151 resolved conflicts 2012-08-28 14:50:40 -04:00
Evan Villemez
504d5125f9 finished up, tests passing, fixed cs 2012-08-27 13:25:03 -04:00
Evan Villemez
2902ac3cbb working on apidoc return property 2012-08-27 12:56:19 -04:00
Evan Villemez
01fce41a0e more accurate reporting of arrays and their types 2012-08-27 12:23:23 -04:00
Evan Villemez
185d0e588b updated JMSMetadataParser to support nested models 2012-08-27 12:23:22 -04:00
William Durand
594c2faf26 Merge pull request #61 from evillemez/jms_parser
Implemented JmsMetadataParser
2012-08-23 06:19:33 -07:00
Alexander
911aaae0fd Remove .{_format} from routes used for resource grouping 2012-08-10 11:38:01 +02:00
Evan Villemez
149f282481 tests passing with JmsMetadataParser, but work still to do on required and description properties 2012-08-07 21:47:33 -04:00
Evan Villemez
b71bc8bf3f started on implementing JmsMetadataParser and tests 2012-08-07 17:50:58 -04:00
Evan Villemez
89f2044581 fixed compiler pass, updated README 2012-07-24 14:39:43 -04:00
William DURAND
a8e0b24b95 Fix tests, fix markdown/html requirements output 2012-07-20 02:02:45 +02:00
William DURAND
cca97cf6af Refactoring
Move logic to extract data in the Extractor
Remove logic in the AbstractFormatter
Use ApiDoc class as data container
Update tests
Add test to prove the bug with FOSRestBundle annotations (\\d+ instead of \d+)
2012-07-20 01:32:16 +02:00