javaandroidgetretrofit

HTTP GET with request body RETROFIT


I am using Retrofit to make api calls in my android application. I have to submit a @Body of JSON

@GET("api/")
void getData(@Body UserPostRequestBody request)

I get error message

retrofit.RetrofitError: apiCall: Non-body HTTP method cannot contain @Body or @TypedOutput.

Have you any idea?


Solution

  • To send data along with your Get Request you can do the following:

    //sending data as a url parameter
    @GET("/group/{id}/users")
    List<User> groupList(@Path("id") int groupId);
    

    as said in this SO answer, Server semantics for GET, however, are restricted such that a body, if any, has no semantic meaning to the request- Roy Fielding.