2009-04-23 4 views
2

Dieses Problem auf das Restlet Framework und Java beziehtHTTP OPTIONS Mit Informationen über REST-Ressourcen abzuzurufen

Wenn ein Client die verfügbaren Ressourcen auf einem Server entdecken - sie müssen eine HTTP-Anforderung mit Optionen wie der Anfragetyp senden . Das ist gut, denke ich für nicht menschlich lesbare Clients - d. H. In Code und nicht in einem Browser.

Das Problem, das ich hier sehe, ist - Browser (menschlich lesbar) mit GET, wird nicht in der Lage schnell die verfügbaren Ressourcen zu entdecken und finden Sie einige zusätzliche Hilfe Dokumentation usw. - weil sie nicht OPTIONS als Anfrage Typ verwenden .

Gibt es eine Möglichkeit, einen Browser eine OPTIONS/GET-Anfrage senden zu lassen, damit der Server formatiertes XML an den Client zurückschickt (wie es in Restlet geschieht - dh die Serverantwort soll alle Informationen als XML zurücksenden)) und zeige dies im Browser an? Oder habe ich meine bekam alles falsch zu denken - das heißt der Punkt der Optionen ist, dass innerhalb eines Kunden-Code verwendet werden soll und nicht dazu gedacht, über einen Browser zu lesen.

Antwort

1

Verwenden Sie die TunnelService (die standardmäßig bereits aktiviert ist) und fügen Sie einfach den Abfrageparameter method=OPTIONS zu Ihrer URL hinzu.

(Die Restlet FAQ Q19 ist eine ähnliche Frage.)

+0

Haben Sie eine Ahnung, wie Sie dies umsetzen - nicht viel von nur von der API-Dokumentation zu gehen. Prost. – Vidar

+0

Sie ist standardmäßig aktiviert, erstellt und mit der Standardkonfiguration im Konstruktor der Anwendung (Kontext) eingerichtet. –

+0

ok - Ich hatte etwas Code, der sich mit TunnelService einmischte - so entfernt, und nur aus dem Browser - eingegebene Methode = OPTIONS wie gesagt und es funktioniert. – Vidar

1

Ich denke, OPTIONS wird nicht als 'user-visible' entworfen.

Wie würden Sie versenden eine OPTIONS Anfrage vom Browser? (Beachten Sie, dass das Formularelement nur allows GET und POST).

Man könnte es es XmlHttpRequest und dann wieder XML in Ihrem Javascript Rückruf und macht entsprechend senden verwenden. Aber ich bin nicht davon überzeugt, dass dies etwas ist, was Ihr Benutzer wirklich wissen sollte!