2017-02-26 6 views
-1

Ich bin verwirrt über Post und Anfrage in android Volley bekommen.Get und Post-Methode in android Volley Anfrage

Können Sie mir ihre Unterschiede erklären?

Und kann ich Post-Methode ohne Param verwenden, um eine JSON von URL zu bekommen?

+0

Willkommen bei StackOverflow. Bitte seien Sie so nett und versuchen Sie selbst einige Informationen zu finden, bevor Sie hier eine Frage stellen. Z.B. Verwenden Sie die erste Antwort für [dieses Google-Ergebnis] (https://www.google.de/#q=what+ist+die+differenz+zwischen+post+und+get+request%3F&*). Bitte stellen Sie nur eine Frage pro Post. – gus27

+1

Mögliches Duplikat von [Wann sollte ich die Methode GET oder POST verwenden? Was ist der Unterschied zwischen ihnen?] (Http://stackoverflow.com/questions/504947/when-should-i-use-get- or-post-method-whats-the-difference-between-them) – gus27

Antwort

0

Der Unterschied liegt in den im Server definierten Funktionen.

In einfachen Worten, mit einer GET-Methode senden Sie Ihre Daten über die URL. Während bei einer POST-Methode Daten in das Formularobjekt eingebettet und direkt von Ihrem Browser an den Server gesendet werden. ... Normalerweise verwenden wir GET, um Seiten zu identifizieren und dynamisch zu rendern, und POST, um Formulardaten zu senden, aber das ist nicht immer der Fall.

und die Antwort auf Ihre zweite Frage ist ja können Sie, aber das ist keine gute Idee bekommen würde besser dafür sein. Hier ist ein Beispiel, wie Sie Anfragen mit Volley-Bibliothek senden können

StringRequest request = new StringRequest(Request.Method.POST, "www.example.com", new Response.Listener<String>() { 
    @Override 
    public void onResponse(String response) { 

    } 
}, new Response.ErrorListener() { 
    @Override 
    public void onErrorResponse(VolleyError error) { 

    } 
}) { 
    @Override 
    protected Map<String, String> getParams() { 
     Map<String, String> parameters = new HashMap<>(); 
     return parameters; 
    } 

    @Override 
    public String getBodyContentType() { 
     return "application/x-www-form-urlencoded; charset=UTF-8"; 
    } 
}; 
AppController.getInstance().addToRequestQueue(request, tag); 
+0

danke für Ihre antworte amir. aber in diesem Szenario senden wir Anfrage mit unserer Android-App, nicht mit Browser.ist unsere Anfrage zum Beispiel Benutzer Passwortanzeige an jedem Ort und unsicher mit Get-Methode? –

+0

im Grunde sind sie gleich auf dem Gebiet der Sicherheit, aber für Login, Registrierung und Operationen wie diese ist es besser, mit 'POST' Methode @ S.HosseinEmadi zu tun –

0

Arbeiten Sie auf Server oder Server wird von jemand anderem behandelt? Im Allgemeinen entscheidet eine Person, die auf dem Server arbeitet, die Methode.

Wie, wenn Sie auf JAVA-Server arbeiten, sagen dann ein API Endpunkt ist https://sample.api.someurl.com/userInfo/

um einige Konsistenz Server-Programmierer zu halten GET Methode verwenden kann userinfo zu bekommen und er POST Methode Benutzer Informationen verwenden zu aktualisieren und er kann Verwenden Sie die Methode DELETE, um die vorhandenen Benutzerinformationen zu löschen.

In diesem Beispiel bleibt Ihr API-Endpunkt gleich, aber die Anforderungsmethode bestimmt, wie sich dieser Endpunkt verhält.

In anderen Beispiel, um Zeit zu sparen, ein Server-Entwickler alle Anforderungen an ein Verfahren umleiten kann und dort behandeln, also egal Sie GET nennen, POST oder DELETE API gleiche Antwort zurück.

Also ja, es ist nicht Android oder UI-Entwickler, der die Methode allein entscheidet, Major Rolle der Entscheidung, welche Methode zu verwenden ist vom Server-Programmierer entschieden.

P.S. Wenn Sie auch an einem Server arbeiten, sollten Sie GET verwenden, um die Informationen zu erhalten, POST, um die Informationen zu aktualisieren oder hinzuzufügen, und DELETE, um die Informationen zu entfernen.