Rest
Wiki Artikeln in Rest Api ausgeben
Einleitung
In diesem Artikel wird beschrieben, wie
Wiki Inhalte in Rest Api ausgeben
Einleitung
In diesem Artikel wird beschrieben, wie
html ausgabe ohne Bearbeitung Funktionen
Beispiel mit Golang
```go package main
import (
"encoding/json" "fmt" "io/ioutil" "net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { // URL der API-Abfrage url := "https://wiki.ahrensburg.city/api.php?action=parse&format=json&page=Geografie&disableeditsection=1&disabletoc=1"
// API-Abfrage durchführen resp, err := http.Get(url) if err != nil { http.Error(w, "Fehler bei der API-Abfrage: "+err.Error(), http.StatusInternalServerError) return } defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body) if err != nil { http.Error(w, "Fehler beim Lesen der Antwort: "+err.Error(), http.StatusInternalServerError) return }
// JSON-Antwort parsen var data map[string]interface{} err = json.Unmarshal(body, &data) if err != nil { http.Error(w, "Fehler beim Parsen der JSON-Antwort: "+err.Error(), http.StatusInternalServerError) return }
// HTML-Inhalt erstellen htmlContent := "<html><head><title>Geografie</title></head><body>"
if parse, ok := data["parse"].(map[string]interface{}); ok { title := parse["title"].(string) text := parse["text"].(map[string]interface{})["*"].(string)
htmlContent += fmt.Sprintf("
%s
%s", title, text)
} else {
htmlContent += "
Kein Inhalt gefunden.
"
}
htmlContent += "</body></html>"
// HTML-Inhalt ausgeben w.Header().Set("Content-Type", "text/html; charset=utf-8") w.Write([]byte(htmlContent)) })
// HTTP-Server auf Port 8080 starten fmt.Println("Server läuft auf http://localhost:8080") http.ListenAndServe(":8080", nil)
}
```