Como verificar se um parâmetro do tipo Integer recebido no Spring está vazio?

Eu tenho um método que vai receber vários parâmetros. Mas os parâmetros estão definidos como required = false porque não quero que seja obrigatório que eles sejam informados e também não informei um default value porque eles só devem receber algum tipo de valor se o usuário passar tal valor. Ou seja, se o usuário informar o parâmetro, ele deverá obrigatoriamente atribuir um valor a ele. Se ele não informar o parâmetro, não tem problema. Ele só não pode informar um parâmetro sem atribuir valor a ele.

No Postman, quando eu passo a URL para entrar no meu método no Java informando o parâmetro e não atribuo um valor a ele (por exemplo, quando deixo o sinal de igual vazio ou não informo o sinal de igual:)

http://localhost:8181/projeto/estado?codigoEstado=

Ele identifica como se o parâmetro não fosse passado em vez de identificar que o parâmetro está vazio mesmo eu tendo escrito o seguinte código:

(Ou seja, se o parâmetro informado não for nulo, mas estiver vazio, então ele vai retornar erro 400 em vez de entrar no método que executa a rotina desejada.)

Eu não posso mudar o tipo do parâmetro na linha do @RequestParam(value = “codigoEstado”, required = false) Integer codigoEstado porque senão eu teria que alterar uma boa parte do meu projeto.

Alguém sabe o que eu posso fazer para verificar se um Integer está vazio?

1 curtida

Creio que somente o codigoEstado != null já resolveria nesse caso, pois você não está usando o tipo primitivo.