hug ist ein Webanwendungsframework zum Erstellen von Web-API-Servern. Während andere Frameworks mit umfangreichen Funktionen wie Template Engine und OR Mapper ausgestattet sind, ist hug ein Framework, das sich nur auf die für den Web-API-Server erforderlichen Funktionen spezialisiert hat.
Besonders hervorzuheben ist seine Einfachheit und Geschwindigkeit. Nachfolgend finden Sie die auf der offiziellen Seite veröffentlichten Benchmarks (Pycnic-Benchmarks). Es ist etwas langsamer als Falcon, aber es ist immer noch sehr schnell und viel einfacher zu implementieren als Falcon.
Lassen Sie es uns installieren und berühren.
hug ist nur mit der Python 3-Serie kompatibel. Die Installation erfolgt unten.
pip install hug
Jetzt erstellen wir eine API. Es ist sehr einfach zu implementieren. Das folgende Beispiel zeigt einen Server, der eine einfache Antwort zurückgibt.
hello_hug.py
import hug
@hug.get('/hello')
def hello(name):
"""Says Hello to a user"""
return "Hello {}!".format(name)
Der Teil @ hug.get () ist der Dekorator der HTTP-Methode. Neben get gibt es post und update.
Lass es uns laufen. Sie können es unten tun. Bei der Ausführung wird der Server an Port 8000 gestartet, und beim Zugriff wird eine Antwort zurückgegeben.
hug -f hello_hug.py
Versuchen Sie, mit Ihrem Browser auf [http: // localhost: 8000 / hello? Name = hug](http: // localhost: 8000 / hello? Name = hug) zuzugreifen. Sie sollten die Antwort sehen.
Sie können ein einfaches Dokument auch anzeigen, indem Sie auf [http: // localhost: 8000 / Dokumentation](http: // localhost: 8000 / Dokumentation) zugreifen.
{
"404": "The API call you tried to make was not defined. Here's a definition of the API to help you get going :)",
"documentation": {
"handlers": {
"/hello": {
"GET": {
"usage": "Says Hello to a user",
"outputs": {
"format": "JSON (Javascript Serialized Object Notation)",
"content_type": "application/json"
},
"inputs": {
"name": {
"type": "Basic text / string value"
}
}
}
}
}
}
}
API-Versionierung ist auch mit hug einfach. Die Implementierung der Versionierung ist ebenfalls sehr einfach. Schauen Sie sich den Code unten an.
versioning_example.py
# filename: versioning_example.py
"""A simple example of a hug API call with versioning"""
import hug
@hug.get('/echo', versions=1)
def echo(text):
return text
@hug.get('/echo', versions=range(2, 5))
def echo(text):
return "Echo: {text}".format(**locals())
Um die Versionierung durchzuführen, geben Sie einfach eine Nummer oder einen Bereich in den Versionen an.
Laufen Sie unten.
hug -f versioning_example.py
[http: // localhost: 8000 / v1 / echo? Text = Hi](http: // localhost: 8000 / v1 / echo? Text = Hi) und [http: // localhost: 8000 / v2 / echo? Text = Gehen Sie zu Hi](http: // localhost: 8000 / v2 / echo? Text = Hi) und vergleichen Sie die Unterschiede. Sie können sehen, dass die Version einfach ist.
Neben der oben genannten Versionierung gibt es weitere nützliche Funktionen zum Erstellen von APIs. Ich bin besonders froh, dass die asynchrone Verarbeitung einfach durchgeführt werden kann.
Ich denke, dass es für die folgenden Situationen geeignet ist.
Wir hoffen, dass Sie es ausprobieren und seine Geschwindigkeit und Benutzerfreundlichkeit erleben.
Recommended Posts