PromucFlow_constructor/app/server
sidhantgoel 214fb1705a
feat: migrate JsonIgnore to JsonView (#20086)
In summary, the change comprises adding `JsonView` annotations on
domain/model fields, controller methods, and arguments.
applying JsonView annotation on controller methods will include fields
which are marked with the same view in domain objects.
Similarly, usage on controller method arguments will only deserialize
the fields which are marked with same view in Domain object, which is
helpful in case we don't want the client to send some fields for
security reasons.
This change replaces the previous use of JsonIgnore for restricting
fields in API response and allows for more flexibility and will enable
us to have fine-grain control over fields serialized for different
contexts, such as API response, export, and import.
The following views are defined as of now.
`View.Internal` - View used to serialize for internal use. It inherits
from `Views.Public` and `Views.Export`, so it will also include those
fields.
`Views.Public` - View used for API request/response.
`Views.Export` - View used for making field exportable, like in the case
of Git sync and file export.
Also, we can define more views by adding an interface inside the Views
class and Views can also inherit fields marked with different view by
simple interface inheritance.

A small tutorial on JsonView - [Jackson JSON Views |
Baeldung](https://www.baeldung.com/jackson-json-view-annotation)

---------

Signed-off-by: Sidhant Goel <sidhant@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Nayan <nayan@appsmith.com>
2023-03-17 17:19:24 +06:00
..
.run chore: Upgrade to Spring Boot 3.0.1 (#19044) 2023-01-02 19:40:59 +07:00
appsmith-git fix: Added fix for the status API (#21321) 2023-03-10 17:27:39 +05:30
appsmith-interfaces feat: migrate JsonIgnore to JsonView (#20086) 2023-03-17 17:19:24 +06:00
appsmith-plugins feature: Introduce Oracle Integration behind feature flag (#21273) 2023-03-16 16:54:25 +05:30
appsmith-server feat: migrate JsonIgnore to JsonView (#20086) 2023-03-17 17:19:24 +06:00
envs feat: Support mongodb transactions for import application flow (#14939) 2023-02-09 14:50:04 +05:30
mongo-seed
reactive-caching fix for caching library autoconfiguration (#19849) 2023-01-17 22:18:42 +05:30
scripts feat: migrate from org to workspace under phase 3 (#14158) 2022-07-20 17:24:16 +05:30
.gitignore
build.sh chore: Check Java version in build script (#19531) 2023-01-06 22:20:58 +05:30
buildpack-run.sh
docker-compose.yml
Dockerfile chore: Upgrade to Spring Boot 3.0.1 (#19044) 2023-01-02 19:40:59 +07:00
entrypoint.sh fix: Added JVM arg to opens java.time module to project (#20326) 2023-02-02 17:19:53 +05:30
pom.xml chore: Upgrade to Spring Boot 3.0.1 (#19044) 2023-01-02 19:40:59 +07:00
Procfile
README.md ci: Modularizing the Github actions workflow for maintainability (#16505) 2022-09-09 01:08:55 +05:30
system.properties chore: Upgrade to Spring Boot 3.0.1 (#19044) 2023-01-02 19:40:59 +07:00

Appsmith Server

This is the server-side repository for the Appsmith framework.

For details on setting up your development machine, please refer to this Setup Guide.