我正在尝试进行POST,但是它给我一个错误:
com.google.gson.stream.MalformedJsonException:使用 JsonReader.setLenient(true)接受第1行的格式错误的JSON 1路$
我的电话:
@POST("BuscaPontos")
Call<PontuacaoModel> postPontuacao(@Body PontuacaoModel model);
我的Web服务消费:
try
{
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(URL_BUSCAR_CIDADE)
.addConverterFactory(GsonConverterFactory.create(new Gson()))
.build();
PontuacaoModel model = new PontuacaoModel();
model.setNome("Juina");
model.setEstado("Mato Grosso");
CallService.Pontuacao callService = retrofit.create(CallService.Pontuacao.class);
Call<PontuacaoModel> requestService = callService.postPontuacao(model);
requestService.enqueue(new Callback<PontuacaoModel>() {
@Override
public void onResponse(Call<PontuacaoModel> call, Response<PontuacaoModel> response) {
if(response.isSuccessful())
{
String i = response.message().toString();
}
}
@Override
public void onFailure(Call<PontuacaoModel> call, Throwable t) {
String i = t.toString();
}
});
}
catch (Exception ex)
{
}
什么是错的?
答案 0 :(得分:2)
我在代码中没有看到您在初始化改造期间添加客户端的行:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(URL_BUSCAR_CIDADE)
.client() // add a client instance here, e.g. OkHttpClient
.addConverterFactory(GsonConverterFactory.create(new Gson()))
.build();
答案 1 :(得分:1)
这是您从服务器回复的问题,格式可能不正确。请安装名为postman form here的工具。
在进行编码之前,请使用此工具检查响应是否正确。