This API is built following some [API First approach principles](https://swagger.io/resources/articles/adopting-an-api-first-approach/).
It is specified through the [OpenAPI](https://oai.github.io/Documentation/).
It is specified in this [file](./src/main/resources/openapi.yml).
Some of the required classes are generated during the build time.
Here are the generated file types:
* DTOs
* API template interfaces specifying methods to override in the controllers
The whole configuration of the generation is handled by [OpenAPI Generator maven plugin](https://github.com/OpenAPITools/openapi-generator/) and is located in the [pom.xml](./pom.xml) file.
To run this plugin and by this way generate the classes, you have to run the following command:
```jshelllanguage
mvn clean install
```
You could then find all the generated source code in the ``target/generated-sources/openapi`` folder.
## Security configuration
## Security configuration
In its default configuration, Petclinic doesn't have authentication and authorization enabled.
In its default configuration, Petclinic doesn't have authentication and authorization enabled.