É a primeira vez que trabalho com webservice e estou com algumas dúvidas.
Tenho um aplicativo feito em java rodando no Android, utilizo SQlite (Room), retrofit2 (Gson). Consigo serializar o Model “RelatorioMotorizado” e enviá-lo para o sistema servidor também feito em java e recebo a seguinte String visualizada no console:
Estou recebendo a mensagem Expected BEGIN_OBJECT but was STRING at line 1 column 15 path $.auxiliar1
Os campos auxiliar1, auxiliar2, encarregado, motorista e vtr são chaves estrangeiras entendidas como Objetos pelo java. Como eu poderia fazer essa conversão para inserir esse json no banco com esses campos como objetos e não como String?
nao sei como esta estruturado o seu java. Mas no geral, essa conversao era para ser automatica, e nesse caso voce registraria um converter que receria a string e transformaria num objeto. Mas isso seria usando JSF ou spring mvc.
Eu nao sei como funciona a forma que voce fez. mas usando spring eu so adiciono um converte dessa forma:
package br.com.tmautomacao.aratu.controller.converter;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import br.com.tmautomacao.aratu.model.Empresa;
@Component
public class EmpresaConverter implements Converter<String, Empresa> {
@Override
public Empresa convert(String id) {
if (!StringUtils.isEmpty(id)) {
Empresa empresa = new Empresa();
empresa.setId(Long.valueOf(id));
return empresa;
}
return null;
}
}