如何使用面向对象的改进2 API调用将变量放入url中

时间:2016-06-06 09:02:02

标签: android api

很抱歉,如果问题标题含糊不清,我不确定如何正确地说出来。

我正在尝试进行一个API调用,需要在其名称中包含一个变量。

此调用在文档中以这样的方式编写

付款请求/ {payment_request_id}

我的代码处理API调用的方式是我有一个包含所有地址的类,因此对于此代码,它看起来像这样

public static final String ADD_PAYMENT_REQUEST_ID = "/api/v0/payment-request/";

然后另一个执行API调用的类看起来像这样

@GET(Request.ADD_PAYMENT_REQUEST_ID)
    void getPaymentRequest(Callback<SinglePaymentRequest> callback);

然后当我打电话时,它看起来像这样

RestClient.getInstance().getApiService().getPaymentRequest(new Callback<SinglePaymentRequest>() {

        @Override
        public void success(SinglePaymentRequest singlePaymentRequest, Response response) {

        }

        @Override
        public void failure(RetrofitError error) {

        }
    });

我的问题是如何将额外的变量添加到网址的末尾,非常感谢任何帮助

2 个答案:

答案 0 :(得分:3)

如果您想要添加到URL的任何内容......如下所示

public static final String ADD_PAYMENT_REQUEST_ID = "/api/v0/payment-request/{your key}";

 @GET(Request.ADD_PAYMENT_REQUEST_ID)
    void getPaymentRequest(@Path("your key") String yourstring,Callback<SinglePaymentRequest> callback);

答案 1 :(得分:2)

在改装2.0中你可以像这样使用

@FormUrlEncoded
@POST("/login")
Call<Model> getUserLogin(@Field("userId") String user, @Field("password") String password);