-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Setup Java REST API #59
Comments
@ericarao feel free to create a |
@ question#3: |
Yeah, you're an owner on this repo so feel free to edit the task list to whatever the terms are for Dropwizard. I've heard Entity, Resource, and Model for what I call Entity. I've heard DAO and Repository for what I call Repository. It's all the same conceptually. |
Need any help with anything BTW? Things going smoothly? |
@MatthewVita Mostly. I want to try doing it with both but am definitely less familiar with Spring. The documentation on the Spring website is pretty good. Although the internet seems to think the bug is a maven issue, I'm inclined to think that since part of the errors I'm getting is talking about missing beans, I'm supposed to define the beans with the |
@ericarao don't worry about Spring... you're making great progress with DropWizard! Great job! Some questions:
|
Yuuup. Copypaste issue. Was being lazy. WHOOPS. Egg is some vernacular thing I picked up from Kevin, it just means an incomplete object (minus ID) so it's an "egg" that hatches into the full object. |
We should follow Domain-driven design (DDD) as much as possible. Stolen from Wikipedia: EntityAn object that is not defined by its attributes, but rather by a thread of continuity and its identity. Value ObjectAn object that contains attributes but has no conceptual identity. They should be treated as immutable. AggregateA collection of objects that are bound together by a root entity, otherwise known as an aggregate root. The aggregate root guarantees the consistency of changes being made within the aggregate by forbidding external objects from holding references to its members. Domain EventA domain object that defines an event (something that happens). A domain event is an event that domain experts care about. ServiceWhen an operation does not conceptually belong to any object. Following the natural contours of the problem, you can implement these operations in services. See also Service (systems architecture). RepositoryMethods for retrieving domain objects should delegate to a specialized Repository object such that alternative storage implementations may be easily interchanged. FactoryMethods for creating domain objects should delegate to a specialized Factory object such that alternative implementations may be easily interchanged. |
I'm having issues where basically I'm registering that I need the naming strategy to be set to snakecase or something similar because postgres is case-insensitive (would prefer not to have to do a workaround where I put everything in "quotations") so my camelcase stuff would just be like postCode -> postcode, so I changed it to snakecase, but I'm having an issue where Jackson doesn't seem to register it as "oh serialize and deserialize using the snakecase rule". So it just bricks because it's doing camelcase still. |
At the moment I'm kinda staring at all the things Jackson is doing under the hood, trying to figure out if this is a Jackson issue or a configuration issue on my end. |
Please ignore, problem fixed. |
@ericarao Things are looking good! It looks like the "egg" concept is a https://en.wikipedia.org/wiki/Data_transfer_object I'm a big fan of consistency, so let's use this in the relevant class names. Server-side folks should, in theory, be able to switch from codebase to codebase without much confusion with names, concepts, etc. |
Moving this to 1.0.1 release because it probably won't be done in time for 1.0.0 |
This is a task for @ericarao to put all of the concepts that she and I have been overviewing to action. This API will be used by the Angular and React/Redux applications to edit/read basic patient information as well as edit/add/delete/get contact information.
Tasks
The text was updated successfully, but these errors were encountered: