Christopher Davis 883d7b6c89
Apply enum from Choice Constraints to Items When Choice is Multiple (#1784)
* Apply `enum` from Choice Constraints to Items When Choice is Multiple

Otherwise JSON schema like this is generated:

```
"property": {
  "type": "array",
  "enum": ["one", "two", "three"],
  "items": {
    "type": "string"
  }
}
```

With this change, however, this schema is generated:

```
"property": {
  "type": "array",
  "items": {
    "type": "string",
    "enum": ["one", "two", "three"]
  }
}
```

A possible downside here is that the symfony constraint stuff happens
before types are figured out from PHPDoc. So it's _possible_ to end up
with something that won't validated. Take something like this:

```
/**
 * @Assert\Choice(multiple=true, choices={"..."})
 * @var string
 */
```

This would generate:

```
"property": {
  "type": "string",
  "items": {
    "enum": ["..."]
  }
}
```

* Fix CS

* cs

* more cs

* fix tests

Co-authored-by: Guilhem Niot <guilhem@gniot.fr>
2021-02-19 09:41:32 +01:00
2020-12-10 22:40:50 +01:00
2020-12-29 10:30:06 +01:00
2020-11-20 17:10:21 +01:00
2020-12-10 22:28:55 +01:00
2020-12-10 22:30:50 +01:00
2020-12-10 21:59:36 +01:00
2019-11-20 12:15:00 +01:00
2020-08-06 10:25:35 +02:00
2020-08-12 11:06:17 +02:00
2020-12-17 00:06:17 +01:00
2020-12-10 21:59:36 +01:00
2016-12-29 12:09:26 +01:00
2020-12-10 21:59:36 +01:00
2019-11-29 13:59:27 +01:00
2020-12-29 10:30:06 +01:00
2017-06-22 21:22:10 +02:00

NelmioApiDocBundle

Build Status Total Downloads Latest Stable
Version

The NelmioApiDocBundle bundle allows you to generate a decent documentation for your APIs.

Migrate from 3.x to 4.0

To migrate from 3.x to 4.0, follow our guide.

Version 4.0 brings OpenAPI 3.0 support. If you want to stick to Swagger 2.0, you should use the version 3 of this bundle.

Migrate from 2.x to 3.0

To migrate from 2.x to 3.0, follow our guide.

Installation

Open a command console, enter your project directory and execute the following command to download the latest version of this bundle:

composer require nelmio/api-doc-bundle

Documentation

Read the documentation on symfony.com

Contributing

See CONTRIBUTING file.

Running the Tests

Install the Composer dependencies:

git clone https://github.com/nelmio/NelmioApiDocBundle.git
cd NelmioApiDocBundle
composer update

Then run the test suite:

./phpunit

License

This bundle is released under the MIT license.

Description
Generates documentation for your REST API from annotations
Readme 17 MiB
Languages
PHP 86.4%
Twig 11%
CSS 2.5%