USACE / USACE/cwms-data-api

CwmsDtoBase vs CwmsDto design

Open
#768 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

approved-W192HQ23F0232-task4 needs-approval
Dominant language
Java
Stars
28
Forks
25
Avg merge
4d 22h
Merged PRs (30d)
20

Description

          Adding the required property is going to break other DTO's that are outside the scope of just the Outlet DTO's.  This has to do with the validator piece that was added, and the annotation reflection it does to check for required = true.  I think this needs to be a broader conversation on the design for this object, including name changes since it's not consistent.

I can create a ticket for that, but adding the annotation back in will be problematic right now.

Originally posted by @RyanM-RMA in https://github.com/USACE/cwms-data-api/pull/731#discussion_r1670885826

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 discussion in pull request #731 and compare the CwmsDtoBase and CwmsDto designs, including the Outlet DTOs. Read how the validator uses annotation reflection and required=true; done means agreeing on a broader DTO design and resolving the naming and annotation compatibility concerns.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend-api-design
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.