swagger-api / swagger-api/swagger-core

Lack of configuration option in ‘Swagger Gradle Plugin’, which allows to specify discriminator and discriminator mapping

Open
#4,599 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

backlog
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.