2017-09-21 3 views
-1

Ich möchte das Parse-Tabelle Feld zu aktualisieren. Ich habe meinen API-Aufruf über den Postboten getestet, der funktioniert gut bei "PUT". Es funktioniert nicht auf "GET" und "POST" Abfrage, also bitte geben Sie mir nur die Antwort für "PUT".So rufen Sie PUT Abfrage mit Headern in Retrofit

Ich habe eine URL, 3 Header und 1 Feldwert, den ich aktualisieren möchte.

Ich habe die REST-API von RetroFit und Volley für den Aufruf "PUT" verwendet, aber ich habe kein Wunschergebnis bekommen.

Kann mir jemand die Lösung sagen, wie man "PUT" -Methode in RetroFit und Volley nennt?

// Khawaja Qasim

Dies ist mein Code, die ich verwendet habe.

@Headers({ 
       "Content-Type: application/json", 
       "X-Parse-Application-Id: TestApp", 
       "X-Parse-REST-API-Key: 1234567890" 
     }) 
     @PUT("https://example.com/hello") 
     void updateValue(@Body JSONObject lastMessage, 
         Callback<JsonElement> callback); 

.............. 

ApiClient.getClient().updateValue(new JSONObject(hashMapKey), new BaseCallback() { 

Antwort

0

verwendet Hader-Tag, wenn Funktionsparameter aufrufen diese aktuell syntex

Autorisierungsschlüssel ist, die wir Header-Tag in der Post Mann @POST ("Warenkorb/update") Anruf getCartUpdate (@Header senden ("Authorization") String Authorization, @Header ("Time") Zeichenkettenzeit, @Header ("Key") Zeichenkette, @Body ProductList productList);

+0

danke für die antwort. Aber ich möchte fragen, was ist mit "PUT" -Methode? Sie gaben die Antwort der "POST" -Methode. –

+0

Ich bin mir nicht sicher, aber versuchen Sie das. @FormUrlEncoded @PUT ("/ question/neu") Leere send ( @Field ("questionName") String questionName, @Field ("Fragetyp") String Fragetyp, Wahl @Header ("X -Parese-Application-Id ") String X-Parse-Anwendungs-ID, @Header (" X-Parse-REST-API-Schlüssel) String X-Parse-REST-API-Schlüssel, @Field ("correctOptionIndex") int correctOptionIndex, Rückruf > Rückruf ); – user3385125

0

definieren individuellen Anfrageheaders

Retrofit zwei weitere Optionen, Felder HTTP-Request-Header zu definieren: statisch und dynamisch. Statische Header können für verschiedene Anforderungen nicht geändert werden. Der Schlüssel und der Wert des Headers sind festgelegt und werden mit dem App-Start initiiert.

Im Gegensatz dazu müssen dynamische Header für jede Anforderung festgelegt werden.

Statischer Anforderungsheader Die erste Option zum Hinzufügen eines statischen Headers besteht darin, den Header und den entsprechenden Wert für Ihre API-Methode als Annotation zu definieren. Der Header wird von Retrofit automatisch für jede Anfrage mit dieser Methode hinzugefügt. Die Anmerkung kann Schlüssel-Wert-Paar als eine Zeichenfolge oder als eine Liste von Zeichenfolgen sein. Lassen Sie uns zwei konkrete Beispiele gegenüber, die die Definitionsmöglichkeiten verdeutlichen:

Retrofit 2

public interface UserService { 
    @Headers("Cache-Control: max-age=640000") 
    @GET("/tasks") 
    Call<List<Task>> getTasks(); 
} 

Retrofit 1,9

public interface UserService { 
    @Headers("Cache-Control: max-age=640000") 
    @GET("/tasks") 
    List<Task> getTasks(); 
} 

Weitere Referenz. https://futurestud.io/tutorials/retrofit-add-custom-request-header

+0

Vielen Dank für die Antwort, aber ich habe die Kopfzeile. und möchten "PUT" -Methode. Sie gaben die Antwort der "GET" -Methode. –

Verwandte Themen