From a9ce27642a6280f95664b0140a356e6f4ade91b1 Mon Sep 17 00:00:00 2001 From: ulrich <undisclosed> Date: Wed, 20 Nov 2024 14:58:09 +0000 Subject: [PATCH] API-Doku ergaenzt --- src/de/uhilger/neon/fm/FileCatalog.java | 5 ++ src/de/uhilger/neon/fm/package-info.java | 47 ----------------------- src/de/uhilger/neon/fm/FileManipulator.java | 37 ++++++++++++++++++ 3 files changed, 41 insertions(+), 48 deletions(-) diff --git a/src/de/uhilger/neon/fm/FileCatalog.java b/src/de/uhilger/neon/fm/FileCatalog.java index cb6ce16..5860c12 100644 --- a/src/de/uhilger/neon/fm/FileCatalog.java +++ b/src/de/uhilger/neon/fm/FileCatalog.java @@ -36,13 +36,16 @@ /** * <p>Diese Methode ist als Reaktion auf einen HTTP GET Aufruf an * folgenden URL gedacht und liefert eine Liste des Ordnerinhalts - * im JSON-Format</p> + * im JSON-Format in der HTTP-Antwort aus</p> * * <pre> * Ordnerinhalt auflisten: * http://localhost:[port]/[kontext]/pfad/zum/ordner/ * </pre> * + * Die Methode liefert den Dateiinhalt in der HTTP-Antwort aus, + * wenn der URL eine Datei bezeichnet + * * @param exchange das Objekt mit Infos zu HTTP-Request, -Response usw. */ public void list(HttpExchange exchange) { diff --git a/src/de/uhilger/neon/fm/FileManipulator.java b/src/de/uhilger/neon/fm/FileManipulator.java index 905232d..63209db 100644 --- a/src/de/uhilger/neon/fm/FileManipulator.java +++ b/src/de/uhilger/neon/fm/FileManipulator.java @@ -56,11 +56,46 @@ * - Liste mit Dateien kopieren (?copyFrom=quelle): url=ziel, Dateiliste im Body * - Liste mit Dateien verschieben (?moveFrom=quelle): url=Ziel, Dateiliste im Body * - einzelne Datei duplizieren (?duplicate): url=Zieldatei - * - einzelne Datei umbenennen (?renameTo=neuer Name): url=Datei oder -odner + * - einzelne Datei umbenennen (?renameTo=neuer Name): url=Datei oder -ordner * - Ordner packen (?zip): url=Ordner * - Zip-Datei entpacken (?unzip): url=Datei * </pre> * + * + * <pre> + * <p>HTTP PUT /pfad/zur/datei.txt ueberschreibt eine bestehende Datei mit dem im Body + * uebergebenen Inhalt oder legt eine Datei mit diesem Inhalt an</p> + * + * HTTP PUT /pfad/zum/zielordner?copyFrom=/pfad/zum/quellordner + * kopiert die Liste der Datei- oder Ordnernamen im Body + * der Anfrage vom Pfad in 'copyFrom' zum Pfad dieser Anfrage. Jede Datei, die + * im Ziel bereits existiert, bekommt im Ziel einen neuen Namen mit einer + * laufenden Nummer. Bei Ordnern, die im Ziel bereits existieren, bekommt der + * betreffende Ordner im Ziel zunaechst einen neuen Namen mit einer laufenden + * Nummer, dann wird der Quellordner ans Ziel kopiert. + * + * HTTP PUT /pfad/zum/zielordner?moveFrom=/pfad/zum/quellordner + * verschiebt die Liste der Datei- oder Ordnernamen im + * Body der Anfrage vom Pfad in 'moveFrom' zum Pfad dieser Anfrage. Jede Datei, + * die im Ziel bereits existiert, bekommt im Ziel einen neuen Namen mit einer + * laufenden Nummer. Bei Ordnern, die im Ziel bereits existieren, bekommt der + * betreffende Ordner im Ziel zunaechst einen neuen Namen mit einer laufenden + * Nummer, dann wird der Quellordner ans Ziel kopiert. + * + * HTTP PUT /pfad/zur/datei.txt?duplicate legt eine Kopie der Datei an + * + * HTTP PUT /pfad/zur/datei.txt?renameTo=neuer Name benennt die Datei oder den Ordner um, + * sofern der neue Name noch nicht vergeben ist + * + * HTTP PUT /pfad/zum/ordner?zip' packt den Ordner + * + * HTTP PUT /pfad/zur/datei.zip?unzip' entpackt eine Datei + * + * Eine Dateiliste im Body sieht z.B. wie folgt aus + * ["test.txt","dok","weitere-datei.bin","bild.jpg"] + * + * </pre> + * * @param exchange das Objekt mit Infos zu HTTP-Request, -Response usw. */ public void change(HttpExchange exchange) { diff --git a/src/de/uhilger/neon/fm/package-info.java b/src/de/uhilger/neon/fm/package-info.java index a78d39b..67d611c 100644 --- a/src/de/uhilger/neon/fm/package-info.java +++ b/src/de/uhilger/neon/fm/package-info.java @@ -9,7 +9,7 @@ * Die folgenden HTTP-Aufrufe werden von dieser Package als HTTP-Aufrufe implementiert: * * <pre> - * GET (Klasse FileList) + * GET (Klasse FileCatalog) * - Dateiinhalt ausliefern (URL ohne Slash am Ende) FileContent + FileList * - Ordnerinhalt auflisten (URL mit Slash am Ende) FileList * @@ -29,51 +29,6 @@ * DELETE (Klasse FileEraser) * - Liste mit Dateien und Ordnern loeschen (rekursiv!) * </pre> - * - * <p>HTTP-Beispiele</p> - * - * <p>HTTP GET fuer eine Datei innerhalb dieses Ordners liefert den Dateiinhalt aus</p> - * - * <p>HTTP GET fuer einen Ordner liefert eine Liste von dessen Inhalt in JSON</p> - * - * <p>HTTP PUT fuer eine Datei ueberschreibt eine bestehende Datei mit dem im Body - * uebergebenen Inhalt oder legt eine Datei mit diesem Inhalt an</p> - * - * <p>HTTP POST fuer eine Datei legt eine neue Datei mit dem im Body uebergebenen - * Inhalt an oder erzeugt eine neue Datei mit einer laufenden Nummer, falls - * diese Datei schon existiert</p> - * - * <p>HTTP POST fuer einen Ordner legt einen neuen Ordner an wenn er noch nicht - * existiert oder erzeugt einen HTTP-Fehler 422</p> - * - * <p>HTTP DELETE loescht die Liste der Dateien und Ordner im Body</p> - * - * <p>HTTP PUT ?copyFrom=pfad kopiert die Liste der Datei- oder Ordnernamen im Body - * der Anfrage vom Pfad in 'copyFrom' zum Pfad dieser Anfrage. Jede Datei, die - * im Ziel bereits existiert, bekommt im Ziel einen neuen Namen mit einer - * laufenden Nummer. Bei Ordnern, die im Ziel bereits existieren, bekommt der - * betreffende Ordner im Ziel zunaechst einen neuen Namen mit einer laufenden - * Nummer, dann wird der Quellordner ans Ziel kopiert.</p> - * - * <p>HTTP PUT ?moveFrom=pfad verschiebt die Liste der Datei- oder Ordnernamen im - * Body der Anfrage vom Pfad in 'moveFrom' zum Pfad dieser Anfrage. Jede Datei, - * die im Ziel bereits existiert, bekommt im Ziel einen neuen Namen mit einer - * laufenden Nummer. Bei Ordnern, die im Ziel bereits existieren, bekommt der - * betreffende Ordner im Ziel zunaechst einen neuen Namen mit einer laufenden - * Nummer, dann wird der Quellordner ans Ziel kopiert.</p> - * - * <p>HTTP PUT mit ?duplicate legt eine Kopie der Datei an</p> - * - * <p>HTTP PUT mit '?renameTo=neuer Name' benennt die Datei oder den Ordner um, - * sofern der neue Name noch nicht vergeben ist</p> - * - * <p>HTTP PUT mit '?zip' packt den Ordner</p> - * - * <p>HTTP PUT mit '?unzip' entpackt eine Datei</p> - * - * <p>Namenskonventionen:<br> - * Ein Pfad mit Schraegstrich ('/') am Ende bezeichnet einen Ordner<br> - * Ein Pfad ohne Schraegstrich ('/') am Ende bezeichnet eine Datei</p> * * */ package de.uhilger.neon.fm; \ No newline at end of file -- Gitblit v1.9.3