Kroonlys bied 'n Service klas wat jy kan gebruik web dienste in Pyramid te definieer.
Elke geval van 'n Service klas ooreenstem met 'n bediener pad en jy kan verskillende metodes HTTP op die pad met 'n eenvoudige ontwerpers implementeer.
Kroonlys sal outomaties terugkeer 'n 405 fout met die regte Laat kop as 'n metode wat is nie geimplementeer nie versoek word.
Kroonlys bied ook 'n Sphinx richtlijn wat gebruik kan word om jou web dienste te dokumenteer. Die uitbreiding herhaal oor omskryf dienste en sal outomaties genereer jou web diens dokumentasie.
Quick
Kroonlys te gebruik, begin dit in te sluit in jou projek met die ** sluit ** metode in Pyramid:
& Nbsp; & nbsp; & nbsp; def belangrikste (global_config, ** instellings):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; config.include ("kroonlys")
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; terugkeer config.make_wsgi_app ()
Hier is meer oor sluit by http://docs.pylonsproject.org/projects/pyramid/1.0/narr/advconfig.html#including-configuration-from-external-sources
Dan kan jy begin web dienste in jou mening te definieer.
Byvoorbeeld, kom ons definieer 'n diens waar jy kan ** KRY ** en ** POST ** 'n waarde op ** / waardes / {waarde} **, waar * n waarde * is 'n ASCII-waarde van die naam van die waarde wat:
& Nbsp; & nbsp; & nbsp; invoer into
& Nbsp; & nbsp; & nbsp; van kroonlys invoer Service
& Nbsp; & nbsp; & nbsp; waardes = Service (naam = 'cat', pad = '/ waardes / {waarde}',
beskrywing = "Kroonlys Demo")
& Nbsp; & nbsp; & nbsp; _VALUES = {}
& Nbsp; & nbsp; & nbsp; @ Values.get ()
& Nbsp; & nbsp; & nbsp; def get_value (versoek):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Stuur die waarde.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; sleutel = request.matchdict ['waarde']
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; terugkeer _VALUES.get (sleutel)
& Nbsp; & nbsp; & nbsp; @ Values.post ()
& Nbsp; & nbsp; & nbsp; def set_value (versoek):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Stel die waarde.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Opbrengste * Ware * of * Vals *.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; sleutel = request.matchdict ['waarde']
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; probeer:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; _VALUES.set (Sleutel, json.loads (request.body))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; behalwe ValueError:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; terug Vals
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; terugkeer True
By verstek, Kroonlys gebruik 'n into gelewer
Wat is nuut in hierdie release:.
- Added Cross-Origin hulpbron te deel ( kor) ondersteuning.
Wat is nuut in die weergawe 0.12:.
- Fix motor-definieer van die kop uitsig vanaf KRY uitsig
- Ondersteuning vir Colander erfenis (bekendgestel in nuwe weergawes van Colander)
- kyk vir foute in die liggaam van die oog en in validators (slegs kontrole in validators voorheen)
- Voeg 'n __version__ nut in kroonlys / __ __ init. Py
Wat is nuut in die weergawe 0.11:
- die sfinks uitbreiding is nou deur die cornice.ext. sphinxext module
- Voeg ondersteuning vir Spore
- voeg 'n opsionele "error_handler se verklarings te sien.
- Services.default_ {validators, filters} word nou gebruik. (Fix # 75)
Wat is nuut in die weergawe 0.10:.
- gebruik pcreate eerder as paster skep
- maak dit moontlik om persoonlike waardes te voeg tot foute.
Wat is nuut in die weergawe 0.9:
- verstek skema waardes veronderstel om in die liggaam
- refactored die interne API sodat ons nie die gebruik van ontwerpers nie. Die diens definisie word nou geskei van die diens registrasie in die routing meganisme.
- bygevoeg klas-vlak validators en filters
- bygevoeg dokumentasie oor kroonlys internals
- afgekeur die service.schema kenmerk. Gebruik service.definitions plaas.
Wat is nuut in die weergawe 0.8:
- bygevoeg ondersteuning vir die "Options" HTTP Werkwoord
- toelaat dat verskeie aanvaar definisies vir 'n diens.
- kry validator se docstring vir die outomatiese doc generasie
- vaste nie-ascii dokumentasie probleme
- voeg 'n manier om modules te ignoreer wanneer die skandering met venusian.scan.
Wat is nuut in die weergawe 0.7:.
- update lisensie te LPW 2.0
- herdoop cornice.schemas te cornice.errors
- Bygevoeg get_view_wrapper metode Service klas subklasse wikkel die oog callables te ondersteun w / ontwerpers
- bygevoeg buildout ondersteuning
- bygevoeg klas-gebaseerde sienings en die hulpbron versierder
- seker maak dat ons gebruik Pyramid se uitsonderings. Nie Webob se.
- bygevoeg filters ondersteuning
- bygevoeg skema ondersteuning
- bygevoeg into xsrf ondersteuning
- nou foute status kan verskil van 400 wees.
Wat is nuut in die weergawe 0.6:
- Verskeie fixes manifesteer
Wat is nuut in die weergawe 0.3:
- Verwyder Singleton & quot; _defined & quot; staat van Service klas; dit laat diens definisies te in meer as een Configurator gelaai word nie.
Vereistes :
- Python
Kommentaar nie gevind