如何仅在从用户那里获取输入而不在发送响应时忽略POJO值

时间:2019-04-04 04:51:11

标签: json rest spring-boot

要求:我想忽略从用户输入(JSON)中读取几个参数,但是想在响应中包含相同的参数。目前,我必须使用在接收和发送中都忽略的当前代码。

也就是说,在读取用户输入时,它会跳过Order Id, Order Status等,而在发送响应时,JSON将不会包含Order Id, Order Status。我想在阅读时跳过,而在发送回复时包含在内。

@JsonIgnoreProperties(ignoreUnknown = true, value = { "Order Id", "Order Status", "Created Date", "Last Modified" })
public class OrderDTO implements Serializable {


@JsonProperty("Order Id") 
private Long orderId;
@JsonProperty("Address")
AddressDTO addressDto;

@JsonProperty("Order Status")
private String status;
@JsonProperty(value = "Customer Id") 
@Size(min = 3, message = "Customer Id Should Be Greater Than 3 Characters")
@NotNull(message = "Customer Id Should Not Be Null.")
private String userId;

您的努力将受到高度赞赏。 谢谢。

1 个答案:

答案 0 :(得分:1)

从2.6版开始:一种更直观的方法是在字段上使用com.fasterxml.jackson.annotation.JsonProperty批注。尝试添加

@JsonProperty(access = Access.READ_ONLY)
private Long orderId;