Retrofit 2.0方法没有响应

在我目前的Android项目中,我正在使用新的Retrofit 2.0库向我的Web服务器发送一些数据。 我只想在那里运行一个脚本,服务器不会返回任何东西。 我以为我可以用这种方法做到这一点:

@POST("persons/insert.php") Call<Void> insert(@Field("Name") String name); 

我现在的问题是,Retrofit跳转到onFailure方法,虽然服务器返回200.这是因为没有什么可以转换为Void 。 那么我该如何解决这个问题? 我希望如果服务器返回200, onResponse方法被调用,并且如果发生错误,则调用onFailure 。 我怎样才能做到这一点?

Solutions Collecting From Web of "Retrofit 2.0方法没有响应"

你可以让它返回一个ResponseBody

 @POST("persons/insert.php") Call<ResponseBody> insert(@Field("Name") String name); 

你仍然会得到onResponseonFailure ,但是它不会尝试将stream反序列化到一个对象。

您可以完全避免响应正文。 在beta2中,您可以Call<Void>来放弃响应正文,并获取http状态码。

 @POST("persons/insert.php") Call<Void> insert(@Field("Name") String name);