Calling Flasche erholsame API Ressource Methoden

Ich schaffe eine API mit Flasche, die für eine mobile Plattform verwendet wird, aber ich möchte auch, dass die Anwendung selbst die API verdaut, um Webinhalte zu rendern. Ich frage mich, was der beste Weg ist, um API-Ressourcen-Methoden innerhalb von Flask zugreifen? Zum Beispiel, wenn ich die folgende Klasse als Ressource hinzugefügt habe:

class FooAPI(Resource): def __init__(self): # Do some things super(FooAPI, self).__init__() def post(self, id): #return something def get(self): #return something api = Api(app) api.add_resource(FooAPI, '/api/foo', endpoint = 'foo') 

Dann in einem Controller möchte ich:

 @app.route("/bar") def bar(): #Get return value from post() in FooAPI 

Wie bekomme ich den Rückgabewert von post () von FooAPI? Kann ich es irgendwie durch die api Variable machen? Oder muss ich eine Instanz von FooAPI im Controller erstellen? Es scheint, dass es eine einfache Möglichkeit gibt, dies zu tun, dass ich einfach nicht verstehe …

One Solution collect form web for “Calling Flasche erholsame API Ressource Methoden”

Der offensichtliche Weg für Ihre Anwendung, um die API zu verbrauchen ist, es wie jeder andere Client aufzurufen. Die Tatsache, dass die Anwendung als Server und ein Client zur gleichen Zeit handeln würde, spielt keine Rolle, der Client-Teil kann Anfragen in localhost und der Server-Teil wird sie auf die gleiche Weise erhalten, wie es externe Anfragen erhält. Um HTTP-Anfragen zu generieren, kannst du Anfragen oder urllib2 aus der Standardbibliothek verwenden.

Aber während die oben genannte Methode gut funktioniert, scheint es mir übertrieben zu sein. Meiner Meinung nach ist ein besserer Ansatz, um die gemeinsame Funktionalität Ihrer Anwendung in einer Weise, dass sowohl die reguläre Anwendung und die API aufrufen können. Zum Beispiel könnten Sie ein Paket namens FooLib , das alle freigegebenen Logiken implementiert, dann wird FooAPI ein dünner Wrapper um FooLib , und sowohl FooAPI als auch FooApp rufen FooLib an, um die Dinge zu erledigen.

  • Flask-Login hebt TypeError: 'bool' Objekt ist beim Aufrufen der is_active-Eigenschaft nicht abrufbar
  • Flask-login AttributeError: 'User' Objekt hat kein Attribut 'is_active'
  • Redirect auf Anmeldeseite, anstatt eine verbotene Nachricht anzuzeigen, wenn sie nicht angemeldet ist
  • Flasche sieht keine Änderung in .js-Datei
  • Wie kann ich bei der Anzeige von Fremdschlüssel-Feldern eine Flasche-Admin verwenden?
  • Fehler beim Ausweitung von RegisterForm in Flaschensicherheit
  • Wie ist der Request_loader von Flask-Login mit user_loader verknüpft?
  • Wie man ein Feld nicht editierbar in Flask Admin-Ansicht einer Modellklasse macht
  • Wie kann man Flaschenerweiterungen manuell installieren?
  • Anpassen (Override) Flask-Admin's Submit-Methode aus der Bearbeitungssicht
  • Flask-admin Inline-Modellierung übergeben Form Argumente wirft AttributeError
  • Python ist die beste Programmiersprache der Welt.