0
我正在使用Retrofit2處理來自Android客戶端的請求。我請求類型PUT和要求型號是:Retrofit 2請求正文中的不必要的serialVersionUID
public class BusinessStatus {
public enum STATUS
{
AVAILABLE, UNAVAILABLE
}
public STATUS status ;
public BusinessStatus(STATUS status) {
this.status = status;
}
}
我改造API接口服務是:
public interface BusinessStatusApi {
@PUT("abul/{driverId}/abulass")
Observable<Response<Void>> updateBusinessStatus(@Path("driverId") String driverId, @Body BusinessStatus businessStatus);
}
我從演示製作PUT請求是這樣的:
public void updateAbulAssStatus(final String driverId, STATUS status) {
BusinessStatus businessStatus = new BusinessStatus(status);
Observable<Response<Void>> call = mBusinessStatusApi
.updateBusinessStatus(driverId, businessStatus);
Subscription subscription = call
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
response -> {
if (response.isSuccessful()) {
} else {
Toast.makeText(mContext.getApplicationContext(), "Something went wrong",
Toast.LENGTH_SHORT).show();
}
},
e -> {
if (e instanceof HttpException) {
ResponseBody responseBody = ((HttpException) e).response().errorBody();
Timber.d("ErrorMessage", responseBody);
}
},
() -> {
Timber.d("Status", "Completed");
}
);
}
但一個異常不必要的serialVersionUID被添加到請求正文並從後端API獲得400。
這是我okhttp日誌:
PUT http://localgost:8080/v1/abul/10011/abulass http/1.1
09-15 14:55:01.394 12402-12578 D/OkHttp: Content-Type: application/json; charset=UTF-8
09-15 14:55:01.397 12402-12578/ D/OkHttp: Content-Length: 62
09-15 14:55:01.398 12402-12578/ D/OkHttp: {"status":"AVAILABLE","serialVersionUID":-1766960164825680704}
爲什麼有被添加不必要的serialVersionUID那裏雖然不能在請求模型包括?