Kolf-mongorest

FLASK RESTFULD API FRAMEWORD VOOR MONGODB / MONGOENGINE
Download nu

Kolf-mongorest Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • BSD License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Anthony Nemitz
  • Uitgever website:
  • http://github.com/elasticsales/

Kolf-mongorest Tags


Kolf-mongorest Beschrijving

Flask-Mongorest is een rustgevend API-kader voor MongoDB / Mongoegine.Setupfrom FLASK IMPORT FLASKFROM FORM.EXT.MONGOENGINE IMPORT MONGOENGINEFROM FLASK.EXT.MONGOREST IMPORT MONGORESTFROM FLASK.EXT.MONGOREST.Views Import ResourceViewVROM FLASK.EXT.EXT.RONGOREST.RESOURCES import ResourceFrom Flask . Extent.Mongorest Import-operators als OPSFROM FORK.EXT.MONGOREST-importmethoden App = FLASS (__ Naam __) App.config.update (MongoDB_HOST = 'LOCKHOST', MongoDB_PORT = '27017', MongoDB_DB = 'Mongorest_Example_App',) DB = Mongoeengine ( app) API = Mongorest (app) Klasse Gebruiker (DB.Document): Email = DB.Emailfield (uniek = true, vereist = true) Klasse-inhoud (db.embeddeddocument): Tekst = dB.Stringfield () Klasse ContentResource (Resource) : Document = Contentclass Post (db.document): titel = db.Stingfield (max_length = 120, verplicht = true) Author = db.referencefield (gebruiker) Inhoud = db.embeddeddocumentfield (inhoud) klasse postresource (resource): document = post Related_Resources = {'inhoud': contentresource,} filters = {'titel': , 'Author_ID': ,} Rename_fields = {'auteur': 'author_id',} @ api.register (naam = 'berichten', URL = '/ Posts /' ) Klasse Postview (Resourceview): Resource = postresource-methoden = Met deze app kunnen volgende krulopdrachten worden gebruikt: Create A POST: Curl -H -H "Content- Type: Toepassing / JSON "-X Post -D \ '{" titel ":" First Post! "," Author_ID ":" author_id_from_a_previous_api_call "," Content ": {" Tekst ":" Dit is onze test na inhoud "} } 'http://0.0.0.0:5000/Posts/ {"ID": "1", "Titel": "Eerste bericht!", "Author_ID": "author_id_from_a_previous_api_call", "Inhoud": {"Tekst": "Dit is onze test na inhoud"}} Ontvang een bericht: Curl http://0.0.0.0:5000/posts/1/ {"ID": "1", "Titel": "Eerste bericht!", "Author_ID ":" Author_id_from_A_Previous_api_call "," Inhoud ": {" Tekst ":" Dit is onze test post-inhoud "}} lijst alle berichten of filter volgens de titel: curl http://0.0.0.0:5000/posts/ of curl http : //0.0.0.0: 5000 / berichten /? Titel__startswith = fir St Post {"Data": } Een bericht verwijderen: Curl -x verwijderen http://0.0.0.0:5000/Posts/1/# faalt sinds postview.methoden toestaan geen deletereQuest Params_skip en _limit => Gebruiken De ingebouwde functies van MongoDB._fields => Beperk de velden van de respons naar die hier genoemd (komma-gescheiden) ._ Order_by => Bestelresultaten Als deze reeks aanwezig is in de resource.allowed_ordering-lijst .Resource configurationRename_fields => Dict of Renaming Regels. Handig voor mapping _id-velden zoals "Organisatie": "Organization_ID" Filters => Filt resultaten van een lijstaanvraag met behulp van de toegestane filters die worden gebruikt als / gebruiker /? ID__GT = 2 of /User/?email__Exact=a@b.comrelate_resources => Nested Resource Serialisatie voor referentie / ingebouwde velden van een DocumentChild_Document_Resources => Stel dat u een persoon base-klasse hebt met mannelijke en vrouwelijke subklasse. Deze subklassen en hun respectievelijke bronnen delen dezelfde MongoDB-collectie, maar hebben verschillende velden en serialisatiekarakteristieken. Met dit woordenboek kunt u klasse-exemplaren in kaart brengen aan hun respectieve middelen die tijdens serialisatie moeten worden gebruikt. AuthenticationDe-authenticatieBase-klasse biedt de mogelijkheid om aan te vragen om hun eigen API-auth-auth te implementeren. Twee gemeenschappelijke patronen worden hieronder weergegeven, samen met een BaseresourceView die kan worden gebruikt als de ouderweergave van al uw hulpbronnen van uw app.Class SessionAuthentication (AuthenticationBase): Def Authorized (Self): RetourcoWN_USER.IS_Authenticed () Klasse APIKEYAuthentication (AuthenticationBase): " "" @TODO APIKY DOCUMENT EN KEY-generatie overgelaten aan de specifieke implementatie "" "DEF geautoriseerd (zelf): indien 'autorisatie' op verzoek. Hoofdslachten: autorisatie = aanvraag.headers . Split () als Len (autorisatie ) == 2 en autorisatie . Lower () == 'Basic': PROBEERD: Authorisation_Parts = Base64.b64Decode (Autorisatie ). Partitie (':') Key = Smart_Unicode (Authorization_Parts ) API_KEY = Apikey.objects.get (key__exact = sleutel) als API_KEY.User: Login_User (API_KEY.User) SETATTR (Huidige_User, 'API_KEY', API_KEY) Terugkeren TRUGE behalve (TypeError, UnicodedecodeError, ApIKEY.DeSnotexist): Pass Return Falseclass BaseresourceView (ResourceView ): authentication_methods = Draaien van het test Suitethis-pakket maakt gebruik van nosetests voor geautomatiseerde testen. Voer gewoon Python Setup.py Nosetests uit om de tests uit te voeren. Geen setup of een andere prep die nodig is.ControlingPull-aanvragen worden zeer gewaardeerd! De homepage van het product


Kolf-mongorest Gerelateerde software

py-c

Gereedschappen en importhaken voor het werken met C uit Python ...

129

Downloaden

SENDTX

Serialized Bitcoin-transactie verzenden vanaf Command-Line naar Bitcoin Network ...

105

Downloaden