Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The REST API layer is still under design. Different idea ideas has been proposed up to know now, but still we are not sure which is the best one to adopt for the project.

Initally, the

Jira Legacy
serverSystem JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverIdf0d90336-9135-337c-8387-a97c21b1155f
keyOP-4
has been was proposed. Then the
Jira Legacy
serverSystem JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverIdf0d90336-9135-337c-8387-a97c21b1155f
keyOP-6
has started and divided in into a number of subtasks.

One of these subtask (the

Jira Legacy
serverSystem JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverIdf0d90336-9135-337c-8387-a97c21b1155f
keyOP-118
) changed the initial proposal to something different while not yet completed (premature merge) and while other contributors were relying on the initially proposed pattern in other isses (e.g.
Jira Legacy
serverSystem JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverIdf0d90336-9135-337c-8387-a97c21b1155f
keyOP-178
and
Jira Legacy
serverSystem JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverIdf0d90336-9135-337c-8387-a97c21b1155f
keyOP-127
)

So now the point is to adopt one of the two, with an agnostic comparison between differnt contributionsdifferent solutions.

Relevant data

  • almost 90% of ModelDTOs in “api” would be identical to Models in “core”

  • some ModelDTO (10%) may need a dedicated mapping

  • the Swagger documentation need to be coherent with the code

Options considered

Option 1:

Option 2:

Description

Linear mapping

Automapping

Pros and cons

(plus) doesn’t need more knowledge for Java Base contributors (more linear)

(minus) makes the controllers ticker

(plus) offer a centralized point for models mapping

(plus) can be customized or disabled where not required

(minus) it needs annotations (less linear)

(minus) it needs adjustments for Swagger documentation

Estimated cost

Status
colourGreen
titleSmall

Status
colourGreen
titlesmall

...