Taklist ger en serviceklass som du kan använda för att definiera webbtjänster i Pyramid.
Varje instans av en serviceklass motsvarar en server bana och du kan genomföra olika metoder HTTP på vägen med enkla dekoratörer.
Cornice återgår automatiskt en 405 fel med rätt Tillåt header om en metod som inte genomfördes begärs.
Cornice ger också en Sphinx direktiv som kan användas för att dokumentera dina webbtjänster. Förlängnings itererar över definierade tjänster och kommer att automatiskt generera din webbtjänst dokumentation.
Quick
För att använda Cornice, börja genom att inkludera den i ditt projekt med ** inkluderar ** metod i Pyramid:
& Nbsp; & nbsp; & nbsp; def huvud (global_config, ** inställningar):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; config.include ("taklist")
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; retur config.make_wsgi_app ()
Läs mer om åtmin http://docs.pylonsproject.org/projects/pyramid/1.0/narr/advconfig.html#including-configuration-from-external-sources
Sedan kan du börja definiera webbtjänster i dina åsikter.
Till exempel, låt oss definiera en tjänst där du kan ** GET ** och ** POST ** ett värde vid ** / värden / {värde} **, där * värde * är en ascii värde som representerar namnet på värdet:
& Nbsp; & nbsp; & nbsp; import json
& Nbsp; & nbsp; & nbsp; från taklisten importTjänst
& Nbsp; & nbsp; & nbsp; värden = Tjänst (name = 'foo', bana = '/ värden / {värde} ",
description = "Taklist Demo")
& Nbsp; & nbsp; & nbsp; _VALUES = {}
& Nbsp; & nbsp; & nbsp; @ Values.get ()
& Nbsp; & nbsp; & nbsp; def get_value (begäran):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Returnerar värdet.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; nyckel = request.matchdict ['värde']
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; tillbaka _VALUES.get (nyckel)
& Nbsp; & nbsp; & nbsp; @ Values.post ()
& Nbsp; & nbsp; & nbsp; def set_value (begäran):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Ställ in värdet.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Returer * Sann * eller * Falskt *.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; nyckel = request.matchdict ['värde']
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; prova:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; _VALUES.set (Nyckel, json.loads (request.body))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; utom ValueError:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; return false
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; återvända Sann
Som standard använder Cornice en Json renderade
Vad är nytt i den här versionen:.
- Lade Cross-Origin Resource Sharing ( CORS) stöd.
Vad är nytt i version 0.12:.
- Fix automatisk definiera visningar HEAD från GET vyer
- Stöd för durkslag arv (introducerades i nya versioner av Colander)
- Kontrollera om fel i kroppen av den uppfattningen och validerare (endast checkar in validerare tidigare)
- Lägg ett __version__ verktyg i taklist / __ init __. Py
Vad är nytt i version 0.11:
- Sfinxen förlängningen nu tillhandahålls av cornice.ext. sphinxext modul
- Lägg till stöd för SPORE
- Lägg en valfri "error_handler" för att se förklaringar.
- Services.default_ {validerare, filter} används nu. (Fix # 75)
Vad är nytt i version 0.10:.
- användning pcreate stället paster skapa
- gör det möjligt att lägga till egna värden för fel.
Vad är nytt i version 0.9:
- standardschema värden anses vara i kroppen
- refactored de interna API så att vi inte använder dekoratörer längre. Definitionen tjänsten nu skild från registreringstjänsten i routingmekanismen.
- lagt klassnivå validerare och filter
- lagt dokumentation om taklist interna
- föråldrat den service.schema attributet. Använd service.definitions istället.
Vad är nytt i version 0.8:
- lagt till stöd för "Alternativ" HTTP Verb
- tillåter flera acceptera definitioner för en tjänst.
- få validator s docstring för automatisk doc generationen
- fast icke-ascii problem dokumentation
- lägga ett sätt att ignorera vissa moduler vid skanning med venusian.scan.
Vad är nytt i version 0.7:.
- licensuppdatering till MPL 2.0
- bytt namn cornice.schemas till cornice.errors
- Inkom get_view_wrapper metod för serviceklass för att stödja underklasser inslagvisnings callables w / dekoratörer
- lagt utbyggnads support
- tillsatta klassbaserade vyer och resurs dekoratör
- se till att vi använder Pyramids undantag. Inte Webob s.
- lagt filter support
- lagt schema support
- lagt json xsrf support
- Nu fel status kan skilja sig från 400.
Vad är nytt i version 0.6:
- Diverse fixar i MANIFEST
Vad är nytt i version 0.3:
- Ta bort sing & quot; _defined & quot; tillstånd från Service klass; Detta gör att tjänste definitioner som ska laddas in mer än en Configurator.
Krav :
- Python
Kommentarer hittades inte