CwmsDtoBase vs CwmsDto design
Open
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
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 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