2016-06-06 3 views
1

Entschuldigen Sie, wenn der Fragetitel vage ist, war ich unsicher, wie man es richtig formuliert.Wie man Variable in URL mit einer objektorientierten Nachrüstung setzt 2 API Anruf

Ich versuche einen get API-Aufruf zu machen, der eine Variable in seinem Namen haben muss.

Der Aufruf wie folgt in der Dokumentation geschrieben

Zahlungs-Anfrage/{payment_request_id}

Die Art und Weise meinen Code beschäftigt sich mit API-Aufrufen ist, dass ich eine Klasse, die die ganze Adresse hält so die für diese Code sieht es aus wie diese

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

Dann wieder eine Klasse, die den API-Aufruf macht, die wie diese

@GET(Request.ADD_PAYMENT_REQUEST_ID) 
    void getPaymentRequest(Callback<SinglePaymentRequest> callback); 
sieht Dann wurden 10

als ich den Anruf machen es sieht aus wie dieses

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

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

     } 

     @Override 
     public void failure(RetrofitError error) { 

     } 
    }); 

Mein Problem ist, wie füge ich die zusätzliche Variable auf das Ende der URL, Vielen Dank für jede Hilfe

+1

So fügen Sie beispielsweise eine Benutzer-ID in die URL ein: @GET ("/ url/{id}") void getUser (@Path ("id") String-ID, Rückruf Rückruf); – nicopasso

Antwort

3

verwenden Wenn Sie etwas wollen, die unten an der URL..it hinzufügen

sieht aus wie
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); 
+0

Ich versuche dies, aber es unterstreicht die @Path und nicht erkennen, es sagt kann nicht lösen Symbol Path –

+0

Okay, warte, ich drückte nur @and wählte Pfad aus dem Dropdown und es funktionierte, nur gehen, um dies zu überprüfen funktioniert und Sie werden Holen Sie sich Ihren Tick, vielen Dank für die Hilfe –

2

In Retrofit 2.0 wie diese können Sie

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