2016-08-02 39 views
0

Ich ging zu einem offenen Vortrag über Jersey REST Web-Service und machte einige Notizen. Hier ist, was der Vortragende in der Vorlesung gesagt hat, ich bin ziemlich verwirrt darüber.Anfänger Verwirrung über POST-Methode in REST-Service

i.Sie benötigen POST einige Inhalte zu/files /. Zum Beispiel haben Sie eine Datei lokal namens data.json.Posting den Inhalt dieser Datei zu Ihrem REST-Dienst speichert den Inhalt auf dem Server mit einem Namen wählt automatisch, sagen 3.json, in einem Ordner von gewählt Sie.

ii.The wichtige Sache hier ist der REST-Service wird die Dateien verwalten müssen es schafft, indem Sie einen Namen wählen, die nicht verwendet wurde und das Rück diesen Namen an den Absender, so kann der Absender den Inhalt erneut herunterladen Es sendet mit dem Namen, den es bekommt. (Der Absender weiß nicht, welchen Namen der Inhalt gegeben wird, bis er die Antwort vom REST-Dienst erhält).

Für Schritt I bedeutet dies, eine Datei zum Dienst hochladen und an einem neuen Speicherort speichern? Was bedeutet der Dienst, wird es automatisch einen Namen geben?

Für Schritt ii, bedeutet das, wenn ich drei Dateien in den Dienst senden, wenn ich GET/files/1, GET/files/2 und GET/files/3 den Inhalt von 1.json, 2 aufrufen .json, 3.json jeweils? Außerdem sagte der Dozent, dass wir die curl-Befehlszeile verwenden können, um eine Datei an den Dienst zu senden.

Der Dozent lieferte kein Beispiel, was mich nicht klar verständlich machte.

Ist es möglich, mir zu helfen, eine Demo zu schreiben oder mir ein paar Beispiele zu geben?

+1

Bitte verwenden müssen ** Verwende deine Frage nicht, nachdem sie beantwortet wurde. Wenn Sie nicht möchten, dass es hier bleibt, können Sie nach Löschung fragen. – quetzalcoatl

+0

Sie sollten die Antworten akzeptieren, nicht verunstalten –

Antwort

1

Sie haben eine Datei lokal data.json

Ordnung, einfach genug auf dem Server

Veröffentlichung der Inhalt dieser Datei auf Ihren REST-Dienst speichert den Inhalt genannt

Sicher, Dateien speichern. Es liest die POST-Daten und speichert sie auf der Festplatte.

einen Namen wählt es automatisch

Dies ist ein kleines Detail ... Es könnte als dem gleichen Namen gespeichert werden, aber dann würden Sie in Konflikt stehenden Dateinamen haben.

in einem Ordner von Ihnen gewählten

Dieser Punkt nicht wirklich klar ist ... aber weitergehen.

der REST-Service müssen die Dateien verwalten es, indem Sie einen Namen erstellt, die Punkt nicht

Genau das früher verwendet wurde.

und zurück, dass [...] an den Absender

über eine typische Webseite Denken ... Sie fordern http://stackoverflow.com. Es gibt zurück HTML. Ihr REST-Dienst gibt nur eine Zeichenfolge/Datei zurück.

Rückkehr dass Name an den Absender, so dass der Absender den Inhalt erneut herunterladen kann es mit geschickt, um den Name es wird. (Der Absender nicht wissen, welche den Inhalt nennen wird bis es gegeben empfängt die Antwort vom REST-Dienst).

Der Kunde muss den Namen der Datei kennen, die hinzugefügt wurde. Andernfalls wissen Sie nicht, wie Sie die Datei anfordern können. Der Server hat einen eigenen Namen für die ursprünglich von Ihnen gesendete Datei generiert.


wenn ich drei Dateien in den Dienst senden, wenn ich GET/Dateien aufrufen/1, GET/files/2 und GET/files/3 wird der Inhalt von 1.json zurückzukehren, 2.json , 3.json jeweils?

Nicht ganz - Der Server hat die Namen der Dateien generiert. So wäre ein besseres Beispiel seine

POST -d file.json /files 

Gibt den Text

20160801-21-38.json 

Und um wieder die Datei anzufordern, können Sie nun diesen Wert

GET /files/20160801-21-38.json 
+0

Das ist ungefähr die Syntax einer cURL-Anfrage. Persönlich teste ich meine REST-Dienste mit dem Postman-Tool. Einfach gesagt; Sie machen einfach eine POST-Anfrage wie jede andere Netzwerkanfrage. Aber es hat zusätzliche Daten, die mit dieser Anfrage einhergehen. Dann lesen Sie die Antwort des Servers ... Speichern Sie diese Variable in einer Variablen ab, um sie später abrufen zu können. Wenn Sie die Datei möchten, verwenden Sie eine GET-Anfrage, um "es zu bekommen". Der Code ist nicht so wichtig; Sobald Sie die Konzepte verstanden haben, sollten Sie in der Lage sein, eine beliebige Netzwerkbibliothek aufzunehmen und diese Aufgaben auszuführen –