pervaz oferă o clasă de servicii, puteți utiliza pentru a defini servicii web din Pyramid.
Fiecare instanță a unei clase de servicii corespunde o cale de server și vă poate pune în aplicare diverse metode HTTP pe calea cu decorațiuni simple.
Cornice va reveni în mod automat o eroare 405 cu dreptul Permite afara dacă se solicită o metodă care nu a fost pusă în aplicare.
Cornice oferă, de asemenea o directivă Sfinx care pot fi folosite pentru a documenta servicii web. Cele iterează extensie peste servicii definite și va genera automat documentația de servicii web.
QuickStart
Pentru a utiliza Cornice, începe prin includerea ei în proiectul cu ** ** includ metodă în Pyramid:
& Nbsp; & nbsp; & nbsp; def principale (global_config, ** setări):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; config.include ("cornișă")
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; config.make_wsgi_app reveni ()
Aflați mai multe despre includ la http://docs.pylonsproject.org/projects/pyramid/1.0/narr/advconfig.html#including-configuration-from-external-sources
Apoi, puteți începe să definiți servicii web din opiniile dumneavoastră.
De exemplu, să definească un serviciu în cazul în care puteți ** GET ** ** și POST ** o valoare la ** / valori / {value} **, în cazul în care * valoare * este o valoare ASCII care reprezintă numele valoarea:
& Nbsp; & nbsp; & nbsp; JSON import
& Nbsp; & nbsp; & nbsp; de la cornișă Serviciul import
& Nbsp; & nbsp; & nbsp; Valorile = servicii (name = 'foo', calea = '/ valori / {value} ",
Descriere = "Cornice Demo")
& Nbsp; & nbsp; & nbsp; _VALUES = {}
& Nbsp; & nbsp; & nbsp; @ Values.get ()
& Nbsp; & nbsp; & nbsp; def get_value (cerere):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Returnează valoarea.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; key = request.matchdict ['valoare']
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; reveni _VALUES.get (element)
& Nbsp; & nbsp; & nbsp; @ Values.post ()
& Nbsp; & nbsp; & nbsp; def set_value (cerere):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Setați valoarea.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Returnează * * Adevărat sau fals * *.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; key = request.matchdict ['valoare']
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; încercați:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; _VALUES.set (Element, json.loads (request.body))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; cu excepția ValueError:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; return false
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; return true
În mod implicit, Cornice folosește un Json pronunțată
Ce este nou în această versiune:.
- Adăugat Cross-origine Resource Sharing ( CORS) sprijin.
Ce este nou în versiunea 0,12:.
- Fix auto-definesc de opinii HEAD de la GET vizualizări
- Suport pentru Strecurătoare moștenire (introdus în noile versiuni ale Strecurătoare)
- Verificați pentru erori în corpul de vedere și în validatoare (a fost verificarea doar în validatoare anterior)
- Adaugă o utilitate __version__ în cornișă / __ __ init. Py
Ce este nou în versiunea 0.11:
- prelungirea Sphinx este acum asigurată de cornice.ext. modul sphinxext
- Adauga suport pentru spor
- adăuga un "error_handler" opțional pentru a vedea declarațiile.
- Services.default_ {validatoare, filtre} este acum utilizat. (Fix # 75)
Ce este nou în versiunea 0,10:.
- utilizare pcreate, mai degrabă decât a crea Paster
- face posibilă pentru a adăuga valori personalizate la erori.
Ce este nou în versiunea 0,9:
- valori implicite schemei se presupune că se află în corpul
- refactored API-urile interne așa că nu mai sunt utilizați decoratori. Definiția de serviciu este acum separate de la înregistrarea de serviciu în mecanismul de rutare.
- validatoare la nivel de clasă adăugată și filtre
- adăugat documentare despre interne cornișă
- depreciate atributul service.schema. Folosește service.definitions loc.
Ce este nou în versiunea 0,8:
- adăugat suport pentru HTTP "Opțiuni" Verb
- permite multiple accepta definiții pentru un serviciu.
- obține docstring validator pentru generarea automata doc
- non-ASCII fix probleme de documentare
- adăuga o modalitate de a ignora unele module la scanarea cu venusian.scan.
Ce este nou în versiunea 0.7:.
- modificare licență pentru MPL 2.0
- cornice.schemas redenumit cornice.errors
- Adaugata get_view_wrapper metodă de clasă de servicii pentru a sprijini subclase ambalate examinează callables w / decoratori
- sprijin buildout adăugat
- vizualizări adăugate pe bază de clasă și decorator de resurse
- asigurați-vă vom folosi excepții Piramida lui. Nu Webob lui.
- suport filtre adăugat
- sprijin schemă adăugat
- adăugat suport JSON XSRF
- erori acum statut poate fi diferit de la 400.
Ce este nou în versiunea 0,6:
- Diverse remedieri în MANIFEST
Ce este nou în versiunea 0.3:
- Eliminați Singleton & quot; _defined & quot; de stat de la clasa de servicii; acest lucru permite definiții servicii să fie încărcate în mai mult de un Configurator.
Cerințe :
- Python
Comentariile nu a fost găsit