2017-02-15 50 views
0

在改造2添加支持,我能夠使用註釋的服務定義需要使用HTTP方法是什麼。例如:改造2自定義/其他請求方法(HTTP動詞)

public interface UserService { 

    @GET("users") 
    Call<UsersResponse> getAllUsers(@Header("access-token") String token) 

    @POST("user") 
    Call<UserResponse> postUser(@Header("access-token") String token, @Body User user) 

} 

我覺得這很方便,但我缺少一些HTTP請求方法(動詞),如LINK和UNLINK。是否有可能以某種方式擴展Retrofit來創建對額外方法的支持?

回答

4

它使用HTTP的註釋是可能的:

public interface AccountService { 

    @HTTP(method = "LINK", path = "users", hasBody = true) 
    Call<BaseResponse> linkUsers(@Header("access-token") String token, @Body LinkUsersRequest linkUsersRequest); 

} 

您也可以使用HTTP的註解來創建一個請求主體

+0

您好巴特一個DELETE請求, 我的代碼沒有工作,那麼總是說自定義方法AUTH,一定不能有身體 @Headers( 「內容類型:應用程序/ JSON」) @HTTP(方法= 「AUTH」,路徑= 「登錄/ {}的DeviceID」,hasBody =真) 致電 getLogin( @Pa th(「deviceId」)int deviceId, @Body RequestBody password); 我正在使用改造2.X –