ResponseInJsonFormat是一个类,
@Builder
@Getter
public class ResponseInJsonFormat {
// Id field in Eloqua
private String id;
// List of field values
private List<FieldValues> fieldValues;
}
FieldValues也是一个定义为
的类@Builder
@Setter
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY)
public class FieldValues {
// id of the parameter
private String ID;
// parameters
private String type;
// Value :- value of the parameter
private String value;
}
我正在写一个api,
@RequestMapping(value = "/service/XYZService", method = RequestMethod.POST)
public ResponseInJsonFormat sendData(@RequestParam String a) {
FieldValues parameter = FieldValues.builder()
.ID(FIELD_ID)
.type(FILED_TYPE)
.value(a)
.build();
List<FieldValues> values = Arrays.asList(parameter);
ResponseInJsonFormat response = ResponseInJsonFormat .builder()
.fieldValues(values)
.id(ID)
.build();
// need to return ResponseInJsonFormat
return response
}
但是当我调用服务时,它会返回类似的内容
{
"id": "110",
"fieldValues": [
{}
]
}
有人可以提供有关fieldValues的空json对象的帮助。 我不明白为什么要放@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY) 如果我不使用此注释,则会收到错误消息,
no properties discovered to create BeanSerializer
所以我使用了批注,错误已经消失了,但是即使已显式分配了值,该错误也得到了空值。
我不明白为什么要做所有这一切,而只是列出来。 有什么我应该阅读的文件,请咨询。
如果我没记错,spring会以JSON格式返回响应。那为什么要做所有这一切。