Implementieren Sie die REST-API schnell in Python

Da ich in der Lernsitzung etwas über API gelernt habe, habe ich versucht, eine einfache REST-API in Python zu implementieren. Da die Installationsmethode von Python an anderer Stelle erklärt wird, werde ich sie weglassen.

Umgebung

Modulinstallation

Mit Flask, einem Webanwendungsframework Installieren Sie Peewee of ORM.

$ pip install flask
$ pip install peewee

Daten importieren

Importieren Sie die folgenden Daten in die Datenbank.

user.tsv


#userId     userCompany  	userDiscountRate
Us0ymuik Dense Forest Compliance Printing 46
Us77qmr2 West Japan Dense Forest Entertainment 49
Usdj7ej1 Dschungellösung 18
Usjx15uh Yokohama Riesige harte weiche 7
Usqd7wpe Face book credit 1
Uswvrn3s Golden Mobile Solution 7
Us3h2d0a Benza Social Gaming-Lösung 26
Usa4c2hm Virtualware Social Gaming-Branche 7
.
.
.

Stellen Sie mit Peewee eine Verbindung zur Datenbank her und registrieren Sie die Daten.

import.py


# -*- coding: utf-8 -*-
import peewee

#Datenbank angeben
db = peewee.SqliteDatabase("data.db")

#Benutzermodell definieren
class User(peewee.Model):
    userId = peewee.TextField()
    userCompany = peewee.TextField()
    userDiscountRate = peewee.IntegerField()

    class Meta:
        database = db

#Erstellung von Benutzertabellen
User.create_table()

#Lesen Sie die tsv-Datei zeilenweise, teilen Sie sie durch Registerkarten und registrieren Sie sie in der Datenbank
for line in open("user.tsv", "r"):
    (userId, userCompany, userDiscountRate) = tuple(line[:-1].split("\t"))
    if userDiscountRate.isdigit(): #Unterstützt Kommentare in der ersten Zeile.
        User.create(userId = userId,
                    userCompany = userCompany,
                    userDiscountRate = int(userDiscountRate))

API-Implementierung

API-Spezifikationen
Funktion: Kundeninformationen abrufen
Pfad: getUser /: userId
-Methode: GET

api.py


# -*- coding: utf-8 -*-
from flask import Flask, jsonify, abort, make_response
import peewee
# import json

db = peewee.SqliteDatabase("data.db")

class User(peewee.Model):
    userId = peewee.TextField()
    userCompany = peewee.TextField()
    userDiscountRate = peewee.IntegerField()

    class Meta:
        database = db

api = Flask(__name__)

@api.route('/getUser/<string:userId>', methods=['GET'])
def get_user(userId):
    try:
        user = User.get(User.userId == userId)
    except User.DoesNotExist:
        abort(404)

    result = {
        "result":True,
        "data":{
            "userId":user.userId,
            "userCompany":user.userCompany,
            "userDiscountRate":user.userDiscountRate
            }
        }

    return make_response(jsonify(result))
    #Wenn Sie es nicht Unicode machen möchten ↓
    # return make_response(json.dumps(result, ensure_ascii=False))

@api.errorhandler(404)
def not_found(error):
    return make_response(jsonify({'error': 'Not found'}), 404)

if __name__ == '__main__':
    api.run(host='0.0.0.0', port=3000)

Bestätigung

$ curl -i http://0.0.0.0:3000/getUser/Usdj7ej1
HTTP/1.0 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 118
Server: Werkzeug/0.11.10 Python/3.5.1
Date: Fri, 27 May 2016 06:29:57 GMT

{"data": {"userCompany": "Dichte Waldlösung", "userDiscountRate": 18, "userId": "Usdj7ej1"}, "result": true}%

Recommended Posts

Implementieren Sie die REST-API schnell in Python
Probieren Sie schnell die Microsoft Face API in Python aus
Evernote-API in Python
Implementieren Sie sum in Python
C-API in Python 3
Implementieren Sie Traceroute in Python 3
[WP REST API v2] Laden Sie Bilder mit Python hoch
Hit Mastodons API in Python
Implementieren Sie alte Chiffren in Python
Implementieren Sie Redis Mutex in Python
Implementieren Sie die Erweiterung in Python
Blender Python API in Houdini (Python 3)
Implementieren Sie den Dijkstra-Algorithmus in Python
Implementieren Sie den Slack Chat Bot in Python
Python-Anfänger haben versucht, die REST-API an einem Tag zu implementieren
Holen Sie sich LEAD-Daten mit der REST-API von Marketo in Python
Implementieren Sie das Stacking-Lernen in Python [Kaggle]
Implementieren Sie die Funktion power.prop.test von R in Python
Abrufen der arXiv-API in Python
Implementieren Sie das Singleton-Muster in Python
Generierung von Spezifikationen und Code in der REST-API-Entwicklung (Python Edition)
Greifen Sie mit Python auf die Twitter-API zu
Cloud DevOps-Kochbuch Teil 4 - Entdecken Sie DevOps DirectMail in Python mit der REST-API
Ich habe versucht, PLSA in Python zu implementieren
Mausbedienung mit Windows-API in Python
Versuchen Sie es mit der Wunderlist-API in Python
Implementieren Sie __eq__ usw. generisch in der Python-Klasse
Versuchen Sie, die Kraken-API mit Python zu verwenden
Implementieren Sie den FIR-Filter in Python und C.
Implementieren Sie gemeinsam statistische Hypothesentests in Python
Ich habe versucht, PLSA in Python 2 zu implementieren
Tweet mit der Twitter-API in Python
Holen Sie sich Google Fit API-Daten in Python
[Python] REST API wesentliche, bequeme Zusammenfassung der Bibliothek
Holen Sie sich Youtube-Daten in Python mithilfe der Youtube-Daten-API
Ich habe versucht, ADALINE in Python zu implementieren
Ich habe versucht, PPO in Python zu implementieren
[Python] Erstellen Sie schnell eine API mit Flask
Quadtree in Python --2
Python in der Optimierung
CURL in Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
SendKeys in Python
Metaanalyse in Python
Unittest in Python
Epoche in Python
Zwietracht in Python
Deutsch in Python
DCI in Python
Quicksort in Python
N-Gramm in Python
Programmieren mit Python
Entwicklung und Bereitstellung der REST-API in Python mit Falcon Web Framework
Plink in Python
Konstante in Python