第二次回调后POST失败

时间:2016-04-25 13:09:42

标签: android post retrofit

从我的Android应用程序中,第一次通过改装调用我的RestAdapater API时,它正确执行但如果我再次尝试这样做,则会出现以下错误:

  

error retrofit.RetrofitError:com.google.gson.JsonSyntaxException:   java.lang.IllegalStateException:预期为BEGIN_OBJECT但是为STRING   在第1行第1列路径$

此外,如果我再次运行应用程序或等待一段时间,这个问题不会发生......第一次。 好像我必须清除这种回调的某种缓存数据。

我的API:

@FormUrlEncoded
@Headers("Content-type: application/json; charset=utf-8")
@POST("/androidDevelopment/AppComercialesCat/WSIngresarCliente.php")
public void ingresarNuevoCliente(@Field("clienteID") int uclienteId,@Field("clienteNom") String uclienteNom,@Field("clienteEmail") String uclienteEmail,
                                 @Field("clienteMov") String uclienteMov,@Field("clienteTel") String uclienteTel,@Field("nombreTienda") String unombreTienda,
                                 @Field("contacto") String contacto,@Field("empresaNIF") String uempresaNif,@Field("Impuestos") String uImpuestos,@Field("empresaDireccion") String uempresaDireccion,
                                 @Field("empresaProvincia") String uempresaProvincia,@Field("empresaPoblacion") String uempresaPoblacion,@Field("empresaCP") String uempresaCP,
                                 @Field("empresaCtaBancaria") String uempresaCtaBancaria,@Field("empresaCatacroquer") String uempresaCatacroquer,@Field("usuarioID") int uUsuarioId,
                                 Callback<Clientes> response);

Api的电话:

ClientesAPI api = restAdapter.create(ClientesAPI.class);
            api.ingresarNuevoCliente(mclienteId, mNombre, mEmail, mMovil, mTel, mTienda,
                    mContacto, mNIF, mImp,mDir, mProv, mPobl, mCP, mCta, mObs, userId,
                    new Callback<Clientes>() {
                        @Override
                        public void success(Clientes clientes, Response response) {
                            //Intent goToMain = new Intent(getApplicationContext(),Intro.class);
                            //startActivity(goToMain);
                        }

                        @Override
                        public void failure(RetrofitError error) {
                            Log.v(TAG, "error " + error.toString());
                            Log.v(TAG, "error " + error.getResponse().getStatus());
                            Log.v(TAG, "error " + error.getResponse().getReason());
                            Log.v(TAG, "error " + error.getResponse().getBody());
                            Log.v(TAG, "error " + error.getCause());
                            error.printStackTrace();
                        }
                    });
        }
    };
}

我很确定这是一个改进的新手问题。

0 个答案:

没有答案