8
votes

API de repos de bâtiment dans le flacon

une question très fondamentale. J'ai une application de flacon qui a PostgreSQL derrière elle. Il n'y a pas d'orje pour cette application. Toutes les demandes sont effectuées via une interface SQL PSYCOPG2.

Maintenant, je veux exposer certaines API de cette application. Quelle serait la meilleure façon de procéder.

1> juste comme: http://flask-peeewee.readthedocs.org/en/ DERNIÈRE / REST-API.HTML 2> ou puis-je faire un sans l'ormes. Il semble que ORM pour une API reposante soit très utile, mais dans ce cas, je dois avoir un élément de base de données distinct et copier des données du modèle Postgres vers l'ORM.

Toute suggestion serait la bienvenue.


3 commentaires

Avez-vous regardé sur le flacon - reposant: flacon-Resful.readthedocs.org/fr/Latest?


Vous avez raison sur place. Juste après le commentaire ci-dessus .. instable sur le flacon reposant. En utilisant également un module APIBASE pour vous aider avec certaines classes de traitement des erreurs. ( blog.elfassembled.org/posts/api_base.html ). Mais ce que je suis inquiet, c'est la manipulation des erreurs. Le flacon repose-t-il une bonne gestion des erreurs d'exception ...?


Je n'ai vraiment pas utilisé de ballon-repos, mais essayez de regarder Flacon --Restiful.readthedocs.org/fr/Latest/...


5 Réponses :


7
votes

J'ai un flacon de configuration similaire + Postgres et Psycopg2. J'ai suivi les tutoriels suivants pour concevoir et mettre en œuvre l'API Je manipule les erreurs manuellement et répondez avec le code HTTP approprié

http://blog.luisrei.com/articles/res.html { Design API}

http://blog.luisrei.com/articles/flaskrest.html { Mettre en œuvre API}


0 commentaires

3
votes

ressemble à flacon-agitée est un meilleur choix. Validations, le support d'authentification est beaucoup plus simple avec celui-ci.


0 commentaires

2
votes

Il y a des tas de différentes frayères sur le ballon maintenant.


0 commentaires

3
votes

Pour les applications non triviales, meilleure utilisation de flacon-chic. Le flacon-agité est quelque peu limitatif et la fiole-reposante ne donne pas vraiment beaucoup sur le flacon-chic, en plus d'être plus complexe. J'ai personnellement utilisé le flacon-agité pendant un certain temps avant de passer à la fiole-chic.


1 commentaires

Le flacon-classe n'est plus entretenu malheureusement.



0
votes

API de repos dans le flacon et l'application Postman: strong>

Code: strong> p>

from flask_sqlalchemy import SQLAlchemy
from flask import Flask,render_template,request,jsonify,json
import psycopg2
import psycopg2.extras


app = Flask(__name__)
db = SQLAlchemy()

conn = psycopg2.connect("postgresql://postgres:postgres@localhost:5432/country")
cr = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
    

@app.route('/', methods=['GET'])
def test():

    return jsonify({
        'message': 'Welcome'
    })


@app.errorhandler(404)
def page_not_found(e):
    return "<h1>404</h1><p>The resource could not be found.</p>", 404


##### Countries ######
@app.route('/country/all', methods=['GET'])
def country():

   cr.execute('select * from country')
   country = cr.fetchall()
   countries = []
   for row in country:
       countries.append(dict(row))
   return jsonify(countries)

if __name__ == '__main__':
    app.run(debug=True, port=8080)


0 commentaires