Seite 1 von 1
REST Api nur für 2 Werte
Verfasst: Montag 10. August 2020, 19:24
von Mardor
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
Re: REST Api nur für 2 Werte
Verfasst: Mittwoch 12. August 2020, 09:44
von Mardor
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.
Re: REST Api nur für 2 Werte
Verfasst: Mittwoch 12. August 2020, 09:47
von sparrow
Wenn dir Django zu überdimensioniert ist, kannst du dir noch Flask anschauen.
Re: REST Api nur für 2 Werte
Verfasst: Mittwoch 12. August 2020, 13:31
von DeaD_EyE
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.
Re: REST Api nur für 2 Werte
Verfasst: Mittwoch 12. August 2020, 15:31
von noisefloor
Hallo,
@DeaD-EyE: der TE braucht eine REST API, die neuen Daten per POST entgegen nimmt und dann weg speichert.
Gruß, noisefloor
Re: REST Api nur für 2 Werte
Verfasst: Mittwoch 12. August 2020, 17:25
von Mardor
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
Re: REST Api nur für 2 Werte
Verfasst: Mittwoch 12. August 2020, 17:34
von sparrow
Wie wäre es mit dem
Flask Tutorial?
Re: REST Api nur für 2 Werte
Verfasst: Mittwoch 12. August 2020, 18:04
von Mardor
Eigentlich eine gute Idee, aber dort gibt es keine REST API.
Re: REST Api nur für 2 Werte
Verfasst: Mittwoch 12. August 2020, 18:26
von Sirius3
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.