Boa tarde,
estou com o seguinte problema. Tenho um javascript que chama um método Rest da controller. Um dos atributos do objeto JSON é string e na controller essa valor deve ser convertido em um tipo Enum. Como se faz isso.? Estou recebendo o seguinte erro:
Resolved exception caused by Handler execution: org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error
Este valor deve vir exatamente igual ao name do enum em questão.
Exemplo:
public enum Qualquer {
TESTE, EXEMPLO, EXEMPLIFICACAO
}
E o json
{
"qualquer" : "EXEMPLO"
}
Teoricamente, isso deve resolver o problema.
Caso não, todo enum possui um método chamado valueOf que recebe uma String e devolve o enum em questão. Sempre seguindo a regra acima, o valor, em String, deve ser exatamente igual ao name do enum em questão.
Boa tarde Darlan, eu tinha feito dessa forma mas recebi erro de conversão. Fechei e abri o projeto, refiz o método conforme você colocou também e passou a funcionar. Vai entender.
O projeto não funciona como mágica. Para que você o execute, mesmo em teste, ele precisa ser recompilado (o compilador irá gerar uma nova gama de .class e bytecodes).
Ocorre que, por alguma razão, esta alteração que você realizou não deve ter iniciado o build. Por conta disso, houve esse problema.