Serialize/deserialize a field with Jackson only when called from certain classes/packages
The title does not describe it well so here it is in some more detail:
Let's say I have 2 different REST controllers, but both controllers operate over the same @Entity classes, meaning they have autogenerated ID fields (by Hibernate). If a call is from the "management" controller, I would like to return the responses with the ID included in the JSON, but if the call is from the other controller for the application systems, I do not want the JSON to contain any ID fields.
There are many different controllers like this, is there any Jackson configuration level solution to this, or do I have a better option to this than to set each ID (in complex objects with multiple IDs) to null in the select controllers, before serialization?
java json rest jackson
add a comment |
The title does not describe it well so here it is in some more detail:
Let's say I have 2 different REST controllers, but both controllers operate over the same @Entity classes, meaning they have autogenerated ID fields (by Hibernate). If a call is from the "management" controller, I would like to return the responses with the ID included in the JSON, but if the call is from the other controller for the application systems, I do not want the JSON to contain any ID fields.
There are many different controllers like this, is there any Jackson configuration level solution to this, or do I have a better option to this than to set each ID (in complex objects with multiple IDs) to null in the select controllers, before serialization?
java json rest jackson
add a comment |
The title does not describe it well so here it is in some more detail:
Let's say I have 2 different REST controllers, but both controllers operate over the same @Entity classes, meaning they have autogenerated ID fields (by Hibernate). If a call is from the "management" controller, I would like to return the responses with the ID included in the JSON, but if the call is from the other controller for the application systems, I do not want the JSON to contain any ID fields.
There are many different controllers like this, is there any Jackson configuration level solution to this, or do I have a better option to this than to set each ID (in complex objects with multiple IDs) to null in the select controllers, before serialization?
java json rest jackson
The title does not describe it well so here it is in some more detail:
Let's say I have 2 different REST controllers, but both controllers operate over the same @Entity classes, meaning they have autogenerated ID fields (by Hibernate). If a call is from the "management" controller, I would like to return the responses with the ID included in the JSON, but if the call is from the other controller for the application systems, I do not want the JSON to contain any ID fields.
There are many different controllers like this, is there any Jackson configuration level solution to this, or do I have a better option to this than to set each ID (in complex objects with multiple IDs) to null in the select controllers, before serialization?
java json rest jackson
java json rest jackson
asked Nov 13 '18 at 10:37
Zoltán UmlaufZoltán Umlauf
341521
341521
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53279134%2fserialize-deserialize-a-field-with-jackson-only-when-called-from-certain-classes%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53279134%2fserialize-deserialize-a-field-with-jackson-only-when-called-from-certain-classes%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown