swagger-api / swagger-api/swagger-core
Lack of configuration option in ‘Swagger Gradle Plugin’, which allows to specify discriminator and discriminator mapping
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 7.5k
- Forks
- 2.3k
- Avg merge
- 18h 1m
- Merged PRs (30d)
- 10
Description
Currently, to the best of my knowledge, there is no configuration option in ‘Swagger Gradle Plugin’ (https://github.com/swagger-api/swagger-core/blob/master/modules/swagger-gradle-plugin/README.md), which allows to specify discriminator and discriminator mapping – required in models with class inheritance. E.g. in models based on the ‘GeoJSON’ standard (https://geojson.org/), Swagger does not have sufficient information on how to map Geometry sub-types such as Point, LineString, Polygon, etc.
I do realize Swagger Annotations can be used in such cases to add discriminator and discriminator-mapping, but our model code is generated off EMF Ecore, therefore we cannot include any custom annotations as these would get overwritten on each build; see https://github.com/eclipse-emf/org.eclipse.emf/issues/27 for more details.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Swagger Gradle Plugin README and its existing configuration options. Determine how discriminator and discriminator-mapping settings should be exposed for inherited models such as GeoJSON Geometry sub-types, and consider the EMF-generated model constraint; done means the plugin documents and supports configuring both values without requiring custom annotations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api, backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100