REST Api nur für 2 Werte

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Mardor
User
Beiträge: 27
Registriert: Montag 9. Februar 2015, 19:07

Hallo,

ich möchte über curl einfach die Temperatur und die Luftfeuchtigkeit an meinen Server im Internet an eine Python REST API senden. Diese soll dann die Werte einfach in eine Datei schreiben damit diese dann über Grafana die Werte auslesen kann. Ich würde gerne (um in Übung zu bleiben) dies über Python realisieren.

Meine Vorkenntnisse sind leider nicht wirklich groß. Ich habe noch nicht objektorientiert gecoded aber vor 2 bis 3 Jahren einige kleine Tools geschrieben.

Was würdet Ihr mir den Empfehlen um meinen Wunsch zu realisieren ?

Gruß Mardor
Mardor
User
Beiträge: 27
Registriert: Montag 9. Februar 2015, 19:07

Vielleicht als Nachtrag. Ich habe mir einige Möglichkeiten angesehen allerdings werden bei einigen Django benötigt
und viele sind meines Erachtens für meine Wünsche auch zu überdimensioniert.

Vielleicht hat ja jemand eine Idee bzw. einen Tipp für mich.
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

Wenn dir Django zu überdimensioniert ist, kannst du dir noch Flask anschauen.
Benutzeravatar
DeaD_EyE
User
Beiträge: 1240
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Stimmt, Django wäre für nur zwei Endpunkte etwas zu viel.

Flask ist eine gute Alternative.

Code: Alles auswählen

from random import uniform
from flask import Flask, jsonify


app = Flask(__name__)


@app.route("/api/temperatur")
def temperature():
    value = uniform(20, 40)
    data = {
        "celsius": value,
        "kelvin": value - 273.15,
        "farenheit": value * 9 / 5 + 32,
    }
    return jsonify(data)


@app.route("/api/luftfeuchtigkeit")
def humidity():
    relative = uniform(0.32, 1)
    return jsonify({"relative": relative})


if __name__ == "__main__":
    app.run()


# http://127.0.0.1:5000/api/temperatur
# http://127.0.0.1:5000/api/luftfeuchtigkeit
Dass man mit so wenig Code überhaupt irgendwas anfangen kann, hätte ich bevor ich mit Python angefangen habe, nie gedacht.
Lesen musst du die Doku von Flask aber trotzdem.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Benutzeravatar
noisefloor
User
Beiträge: 4194
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

@DeaD-EyE: der TE braucht eine REST API, die neuen Daten per POST entgegen nimmt und dann weg speichert.

Gruß, noisefloor
Mardor
User
Beiträge: 27
Registriert: Montag 9. Februar 2015, 19:07

Hallo,

vielen Dank für den Hinweis auf Flask. Habt Ihr denn eine Empfehlung eines Buches bei dem ich (Anfänger) mich Schritt für Schritt von Flask zur REST API einarbeiten kann ?

Gruß Mardor
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

Wie wäre es mit dem Flask Tutorial?
Mardor
User
Beiträge: 27
Registriert: Montag 9. Februar 2015, 19:07

Eigentlich eine gute Idee, aber dort gibt es keine REST API.
Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

REST-API ist auch nur die Art und Weise, wie man eine URL benutzt. Eben nicht im Browser sondern von einem Programm aus. Die Technik ist die selbe.
Antworten