如何在改造中传递参数

时间:2017-01-25 12:17:41

标签: android retrofit

听到我的API: http://v2sgroups.in/Erp_V2s_Groups/AndroidPanel/OTPVerification/099567。 我尝试通过改造框架调用Api,如何在上述链接中改进参数。 099657是传递参数。

@GET("/AndroidPanel/OTPVerification/")
void otp(@Field("otp") String otp,
        Callback<OTP> callback);

如何使用界面传递099567?

2 个答案:

答案 0 :(得分:2)

它是一条道路,你可以这样做:

@GET("/AndroidPanel/OTPVerification/{otp}")
void otp(@Path("otp") String otp,
        Callback<OTP> callback);

答案 1 :(得分:0)

您可以通过@QueryMap传递参数 Retrofit使用注释将定义的键和值转换为适当的格式。使用 @Query(“ key”)字符串值批注会将带有名称key和相应字符串值的查询参数添加到请求url中。

public interface API{
        @POST("media-details")
        retrofit2.Call<MediaDetails>getMediaList(@QueryMap Map<String, String> param);
    }

private void getData() {
        Map<String, String> data = new HashMap<>();
        data.put("id", "12345");
        data.put("end_cursor", "00000");
        Call<MediaDetails> mediaDetails = ServiceAPI.getService().getMediaList(data);
        mediaDetails.enqueue(new Callback<MediaDetails>() {
            @Override
            public void onResponse(Call<MediaDetails> call, Response<MediaDetails> response) {

            }

            @Override
            public void onFailure(Call<MediaDetails> call, Throwable t) {
                System.out.println("Failed");
            }
        });
    }