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 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");
}
);
}
그러나 :
public interface BusinessStatusApi {
@PUT("abul/{driverId}/abulass")
Observable<Response<Void>> updateBusinessStatus(@Path("driverId") String driverId, @Body BusinessStatus businessStatus);
}
내가 같이 발표자에서 PUT 요청을하고 비정상적인 불필요한 serialVersionUID가 요청 본문에 추가되고 백엔드 API에서 400을 얻습니다. 여기
내 okhttp 로그입니다 : 이 요청 모델에 포함되지 않습니다에도 불구하고 불필요한의 serialVersionUID가 거기에 추가되는 이유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}
?