Retrofit2 Code 400 Bad Request

时间:2017-11-05 17:56:38

标签: android json retrofit retrofit2

我正在尝试进行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)
    {

    }

什么是错的?

2 个答案:

答案 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的工具。

在进行编码之前,请使用此工具检查响应是否正确。