Spring JSONI包括如何仅在未赋值时忽略默认值布尔值
当我使用Include.NON_NULL时,错误响应是错误的,如果我使用Include.NON_DEFAULT,状态为200的响应是错误的 这就是我要找的: 状态:200 OKSpring JSONI包括如何仅在未赋值时忽略默认值布尔值,spring,rest,jackson,Spring,Rest,Jackson,当我使用Include.NON_NULL时,错误响应是错误的,如果我使用Include.NON_DEFAULT,状态为200的响应是错误的 这就是我要找的: 状态:200 OK { "adultMovie": false, "backdropPathMovie": "/2U3hyiVzzhYzS6j9fcdVW4mO4Uk.jpg", "originalLanguageMovie": "en", "originalTitleMovi
{
"adultMovie": false,
"backdropPathMovie": "/2U3hyiVzzhYzS6j9fcdVW4mO4Uk.jpg",
"originalLanguageMovie": "en",
"originalTitleMovie": "Fire"
}
{
"adultMovie": false,
"backdropPathMovie": "/2U3hyiVzzhYzS6j9fcdVW4mO4Uk.jpg",
"originalLanguageMovie": "en",
"originalTitleMovie": "Fire"
}
{
"backdropPathMovie": "/2U3hyiVzzhYzS6j9fcdVW4mO4Uk.jpg",
"originalLanguageMovie": "en",
"originalTitleMovie": "Fire"
} // Here should show up "adultMovie": false, as this field is set as false.
现状:400
{
"errors": [
{
"typeId": "FIELD_VALIDATION_ERRORS",
"field": "idMovie",
"message": "Invalid value of `fff` provided"
}
]
}
这就是我迄今为止所尝试的:
我的模型:
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Movie implements Serializable {
private static final long serialVersionUID = -3515253168981789136L;
private boolean adultMovie;
private String backdropPathMovie;
private String originalLanguageMovie;
private String originalTitleMovie;
private Set<Error> errors;
}
现状:400。验证错误
{
"adultMovie": false, // It shouldn't show up
"errors": [
{
"typeId": "FIELD_VALIDATION_ERRORS",
"field": "idMovie",
"message": "Invalid value of `513f` provided"
}
]
}
{
"errors": [
{
"typeId": "FIELD_VALIDATION_ERRORS",
"field": "idMovie",
"message": "Invalid value of `fff` provided"
}
]
}
如果我尝试:
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
public class Movie implements Serializable {
状态:200 OK
{
"adultMovie": false,
"backdropPathMovie": "/2U3hyiVzzhYzS6j9fcdVW4mO4Uk.jpg",
"originalLanguageMovie": "en",
"originalTitleMovie": "Fire"
}
{
"adultMovie": false,
"backdropPathMovie": "/2U3hyiVzzhYzS6j9fcdVW4mO4Uk.jpg",
"originalLanguageMovie": "en",
"originalTitleMovie": "Fire"
}
{
"backdropPathMovie": "/2U3hyiVzzhYzS6j9fcdVW4mO4Uk.jpg",
"originalLanguageMovie": "en",
"originalTitleMovie": "Fire"
} // Here should show up "adultMovie": false, as this field is set as false.
现状:400。验证错误
{
"adultMovie": false, // It shouldn't show up
"errors": [
{
"typeId": "FIELD_VALIDATION_ERRORS",
"field": "idMovie",
"message": "Invalid value of `513f` provided"
}
]
}
{
"errors": [
{
"typeId": "FIELD_VALIDATION_ERRORS",
"field": "idMovie",
"message": "Invalid value of `fff` provided"
}
]
}
你的问题不清楚; 问题主体是问题的“主体”, 这不是问题的内容 问题的根源:你必须学会数数 说明:
一个
布尔值
可能正好包含两个值;真假。
根据我对你想问的问题的想象,
看起来你想要的东西包含三个值;
正确、错误和未设置
使用Boolean
作为adultMovie
字段的类型。
Boolean
是一种引用类型;
因此,它可以有三个值;
Boolean.TRUE、Boolean.FALSE和null
与@JsonInclude(JsonInclude.Include.NON_NULL)
注释一致,
adultMovie
的空值将导致JSON不包含“adultMovie”条目。您的问题不清楚;
问题主体是问题的“主体”,
这不是问题的内容
问题的根源:你必须学会数数
说明:一个
布尔值
可能正好包含两个值;真假。
根据我对你想问的问题的想象,
看起来你想要的东西包含三个值;
正确、错误和未设置
使用Boolean
作为adultMovie
字段的类型。
Boolean
是一种引用类型;
因此,它可以有三个值;
Boolean.TRUE、Boolean.FALSE和null
与@JsonInclude(JsonInclude.Include.NON_NULL)
注释一致,
adultMovie
的空值将导致JSON不包含“adultMovie”条目。对于布尔值,您可以使用如下布尔值。布尔值为true或false,如果未设置,则默认值为false。因此,对于@JsonInclude(JsonInclude.Include.NON_DEFAULT),即使您手动设置了false值,它也将假定它是默认值,并将忽略此值,即使您在响应中需要此值。另一方面,布尔值有三个值,如true、false和null。所以,如果你把它设置为假,它也会在反应中考虑。只有当您设置为null时,它才不会包含在响应中
私人成人电影 相反,您可以使用布尔值,如下所示。布尔值为true或false,如果未设置,则默认值为false。因此,对于@JsonInclude(JsonInclude.Include.NON_DEFAULT),即使您手动设置了false值,它也将假定它是默认值,并将忽略此值,即使您在响应中需要此值。另一方面,布尔值有三个值,如true、false和null。所以,如果你把它设置为假,它也会在反应中考虑。只有当您设置为null时,它才不会包含在响应中
私人成人电影 很抱歉问这个问题。实际上,我想要一个有3个可能的值的东西,它和你提到的布尔值一起工作。谢谢你的帮助很抱歉问这个问题。实际上,我想要一个有3个可能的值的东西,它和你提到的布尔值一起工作。谢谢你的帮助