@RequestBody列表永远不会为空,只是null

时间:2019-07-16 11:49:31

标签: java spring rest

我的任务是检查“响应正文”中的列表是否为空。如果为空,则抛出异常;如果不是,则继续处理。问题是由于搜索限制等原因,GET请求是通过POST请求完成的。

这是方法:

@PostMapping("/fees")
public List<FeeSetupDTO> getFeeSetups(@RequestBody List<FeeRequest> request
) {
    if (!request.isEmpty()) {  //request size = 1
        try {
            return ...;
        } catch (NotImplementedException e) {
            ...;
        }
    } else {
        throw new PublicException(PMT_NOT_FOUND); //Never thrown because list is never empty
    }
}

我的请求中的请求正文如下:

[{ }] //Empty list

问题是我得到的列表永远不会为空,它的大小为1,它只是null,但仍然算作列表中的一个元素。每个FeeRequest都由以下对象组成:

feeName = null;
feeCode = null;
feeAmount = null; 

您有任何想法如何检查请求正文中的列表是否为空?

1 个答案:

答案 0 :(得分:3)

一个空的list就是这样的[]

您要发送的列表[{ }]不为空,您发送的list中包含一个空的object