Atributo Optional em DTO injetado via POST

Criei um DTO para receber os filtros de uma tela de consulta e coloquei atributos do tipo Optional

private Optional<Long> cdOrgao = Optional.empty(); private Optional<Long> cdSetor = Optional.empty(); private Optional<Integer> nuEdital = Optional.empty(); private Optional<Integer> nuAnoEdital = Optional.empty(); private Optional<Integer> nuProcesso = Optional.empty(); private Optional<Integer> nuAnoProcesso = Optional.empty(); private Optional<String[]> situacoes = Optional.empty(); private Optional<String> deObejto = Optional.empty();

possuo o seguinte endpoint no meu RestController

@RequestMapping(value = "/avancada", method = RequestMethod.POST) public PageResult<ResultadoConsultaCertameDTO> consultaAvancada(@RequestBody FiltroConsultaCertameAvancadaDTO filtroConsultaAvancada) { Page<Certame> pages = certameService.findCertameByConsultaAvancada(filtroConsultaAvancada); return converterToPageResult(pages); }

e estou tentando enviar o seguinte json para teste

{ "cdOrgao":{"value":1}, "cdSetor":{}, "nuEdital":{}, "nuAnoEdital":{}, "nuProcesso":{}, "nuAnoProcesso":{}, "situacoes":{"value":["AGUARDANDO_CERTAME","CERTAME_ANDAMENTO"]}, "deObejto":{"value":"teste"} }

quando meu controller é acessado os atributos estão vindo todos empty.

OBS: Possuo uma classe semelhante que pesquiso via GET, que também possui atributos do Optional e funciona!

Alguém sabe o que pode estar acontecendo?