api响应中的值为空

时间:2018-07-06 14:27:23

标签: spring spring-boot

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格式返回响应。那为什么要做所有这一切。

0 个答案:

没有答案