Karnis szolgáltatást nyújt osztály segítségével határozzák web szolgáltatások Piramis.
Minden esetben a szolgáltatás osztály felel meg a kiszolgáló elérési és akkor hajthatja végre különböző módszerekkel HTTP azon az úton, egyszerű lakberendezők.
Karnis automatikusan visszatér a 405 hiba a jobb Hagyjuk fejlécet, ha a módszert, hogy nem hajtották végre kérik.
Karnis is biztosít Sphinx irányelv, amely felhasználható a dokumentum a webes szolgáltatások. A kiterjesztés végigmegy alatt meghatározott szolgáltatásokat, és automatikusan generál a web service dokumentációt.
QuickStart
Ahhoz, hogy használni Karnis, először beleértve azt a projektet a ** közé ** módszer Piramis:
& Nbsp; & nbsp; & nbsp; def main (global_config, ** beállítások):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; config.include ("párkány")
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; vissza config.make_wsgi_app ()
Tudjon meg többet tartalmaznia http://docs.pylonsproject.org/projects/pyramid/1.0/narr/advconfig.html#including-configuration-from-external-sources
Akkor lehet kezdeni, hogy meghatározza web szolgáltatások a véleményét.
Például, nézzük meg a szolgáltatást, ha tudod ** ** GET és POST ** ** amelyeknek értéke ** / érték / {value} **, ahol a * értéke * egy ASCII értéket képviselő érték neve:
& Nbsp; & nbsp; & nbsp; import json
& Nbsp; & nbsp; & nbsp; a karnis import Service
& Nbsp; & nbsp; & nbsp; értékek = Service (name = 'ize', path = '/ érték / {value} ",
Description = "Karnis Demo")
& Nbsp; & nbsp; & nbsp; _VALUES = {}
& Nbsp; & nbsp; & nbsp; @ Values.get ()
& Nbsp; & nbsp; & nbsp; def get_value (kérésre):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Értékét adja.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; key = request.matchdict ['értéke']
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; vissza _VALUES.get (billentyű)
& Nbsp; & nbsp; & nbsp; @ Values.post ()
& Nbsp; & nbsp; & nbsp; def set_value (kérésre):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Állítsa be az értéket.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Visszatér IGAZI vagy * Hamis *.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; key = request.matchdict ['értéke']
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Próbálja ki:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; _VALUES.set (Kulcs, json.loads (request.body))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; kivéve ValueError:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; return false
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; return true
Alapértelmezésben Karnis használ JSON tette.
Mi az új ebben a kiadásban:
- Added Határon Origin Resource Sharing ( CORS) támogatása.
Mi az új verzióban 0,12:
- Fix automatikus meghatározzák a HEAD kilátást GET kilátást.
- Támogatás Colander öröksége (bevezetett új verzióit Colander)
- Ellenőrizze a hibákat a szervezetben a nézet és a hitelesítők (csak ellenőrzi a validátorok korábban)
- Add a __version__ segédprogram a párkány / __ __ init. Py
Mi az új verzióban 0,11:
- A szfinx kiterjesztés mostantól az cornice.ext. sphinxext modul
- Add támogatása SPORE
- hozzá egy opcionális "error_handler", hogy megtekinthesse nyilatkozatok.
- Services.default_ {érvényesítő, szűrők} most használt. (Fix # 75)
Mi az új verzióban 0,10:
- pcreate helyett papírral létre.
- lehetővé teszi, hogy adjunk egyéni értékeket hibákat.
Mi az új a 0.9 verzió:
- alapértelmezett séma értékek feltételezzük, hogy a szervezetben
- refactored a belső API-k, így nem használ lakberendezők többé. A szolgáltatás meghatározása jelenleg elkülönül a szolgáltatást regisztráció a routing mechanizmust.
- osztályra szintű érvényesítő és szűrők
- hozzá dokumentációt párkány belső
- elavult a service.schema attribútum. Használja service.definitions helyett.
Mi az új a 0.8 verzió:
- hozzáadott támogatása a "Beállítások" HTTP ige
- lehetővé teszi több elfogadom meghatározások a szolgáltatást.
- get érvényesítő által docstring az automatikus dokumentum generációs
- fix, nem ASCII dokumentációs problémák
- adjunk hozzá egy módja annak, hogy figyelmen kívül hagyja néhány modult, ha a lapolvasást venusian.scan.
Mi az új a 0.7 verzió:
- frissítést engedély MPL 2.0.
- átnevezték cornice.schemas hogy cornice.errors
- Added get_view_wrapper módszer Service osztály támogatása alosztályok csomagolás a nézetet callables w / lakberendezők
- hozzáadott buildout támogatás
- osztályra alapú nézetek és az erőforrás dekoratőr
- biztosítani szeretnénk, hogy piramis kivételek. Nem Webob években.
- hozzáadott szűrők támogatása
- hozzáadott séma támogatása
- hozzáadott json xsrf támogatás
- Most hibák állapota lehet más, mint a 400.
Mi az új a 0.6 verzió:
- Különféle javítások nyilvánvaló
Mi az új 0.3-as változatban:
- Vegye egyke & quot; _defined & quot; államot Service osztály; ez lehetővé teszi szolgáltatásdefiníciókat kell betölteni, több konfigurátor.
követelmények :
- Python
Hozzászólás nem található