Android APIService class example for retrofit 2.
package com.dev.data.source.network;
import com.mevics.dev.data.models.Settings;
import com.mevics.dev.data.models.Stats;
import com.mevics.dev.data.models.User;
import io.reactivex.Observable;
import okhttp3.MultipartBody;
import okhttp3.ResponseBody;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.PUT;
import retrofit2.http.Part;
import retrofit2.http.Query;
public interface APIService {
@GET("health-check")
Observable<ResponseBody> getHealthCheck();
@GET("user")
Observable<User> getUser(@Header("x-access-token") String x_access_token);
@PUT("user")
Observable<User> updateUser(@Header("x-access-token") String x_access_token,
@Body User user);
@POST("link")
Observable<ResponseBody> linkGoogleOrFacebook(@Header("x-access-token") String x_access_token,
@Query("type") String type,
@Query("id") String id);
@Multipart
@PUT("user/photo")
Observable<User> editUserPhoto(@Header("x-access-token") String x_access_token,
@Part MultipartBody.Part image);
}