Nếu bạn sử dụng RxJava, thì tốt hơn nên sử dụng Completable
trong trường hợp này
Đại diện cho một tính toán hoãn lại mà không có bất kỳ giá trị nào mà chỉ cho thấy sự hoàn thành hoặc ngoại lệ. Lớp học theo một mẫu sự kiện tương tự như Reactive-Streams: onSubscribe (onError | onComplete)?
http://reactivex.io/RxJava/2.x/javadoc/io/reactivex/Completable.html
trong câu trả lời được chấp nhận:
@GET("/path/to/get")
Observable<Response<Void>> getMyData(/* your args here */);
Nếu điểm cuối trả về mã phản hồi thất bại, nó sẽ vẫn ở trong onNext
và bạn sẽ phải tự kiểm tra mã phản hồi.
Tuy nhiên, nếu bạn sử dụng Completable
.
@GET("/path/to/get")
Completable getMyData(/* your args here */);
bạn sẽ chỉ có onComplete
và onError
. nếu mã phản hồi thành công, onComplete
nó sẽ kích hoạt onError
.
Void
không chỉ có ngữ nghĩa tốt hơn mà còn hiệu quả hơn một chút trong trường hợp trống và hiệu quả hơn rất nhiều trong trường hợp không trống (khi bạn không quan tâm đến cơ thể).