Gzyms zapewnia klasę usługi można użyć do definiowania usług internetowych w Pyramid.
Każda instancja klasy usług odpowiada ścieżce serwera i może realizować różne metody HTTP na drodze z prostych dekoratorów.
Gzyms automatycznie powróci 405 Błąd z prawem Pozwól nagłówek, jeśli metoda, która nie została wdrożona jest wymagana.
Gzyms zapewnia również dyrektywę Sphinx, które mogą być używane do dokumentowania usług internetowych. W iteracje rozszerzeń ponad określonych usług i automatycznie generuje dokumentację usług sieciowych.
QuickStart
Aby korzystać Gzyms, zaczynają włączając go w projekcie z ** obejmują ** metoda Piramidy:
& Nbsp; & nbsp; & nbsp; def main (global_config, ** Ustawienia):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; config.include ("gzyms")
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; powrót config.make_wsgi_app ()
Dowiedz się więcej o obejmować co http://docs.pylonsproject.org/projects/pyramid/1.0/narr/advconfig.html#including-configuration-from-external-sources
Następnie można rozpocząć w określaniu usług internetowych w swoich poglądów.
Na przykład, zdefiniujmy usługi, gdzie można ** ** i ** GET POST ** Wartość w ** / wartości / {wartość} **, w którym wartość * jest wartość ASCII reprezentujący nazwę wartości:
& Nbsp; & nbsp; & nbsp; import json
& Nbsp; & nbsp; & nbsp; z gzymsu importu usług
& Nbsp; & nbsp; & nbsp; Wartości = Serwis (name = "foo", ścieżka = "/ wartości / {wartość}",
Opis = "Gzyms Demo")
& Nbsp; & nbsp; & nbsp; _VALUES = {}
& Nbsp; & nbsp; & nbsp; @ Values.get ()
& Nbsp; & nbsp; & nbsp; get_value def (wniosek):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Zwraca wartość.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; key = request.matchdict ['wartość']
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; powrót _VALUES.get (klucz)
& Nbsp; & nbsp; & nbsp; @ Values.post ()
& Nbsp; & nbsp; & nbsp; set_value def (wniosek):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "Ustaw wartość.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Powroty * true * lub * false *.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "" "
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; key = request.matchdict ['wartość']
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; spróbuj:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; _VALUES.set (Klucz, json.loads (request.body))
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wyjątkiem ValueError:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; return false
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Zwraca TRUE
Domyślnie Gzyms wykorzystuje Json świadczonych
Co nowego w tym wydaniu:.
- Dodane zasobów Cross-Origin udostępnianie ( CORS) wsparcie.
Co nowego w wersji 0.12:.
- Fix automatycznie zdefiniować poglądów HEAD z GET widoki
- Obsługa Cedzak dziedziczenia (wprowadzone w nowych wersjach Durszlak)
- Sprawdź błędy w organizmie widoku i weryfikatorów (sprawdzałem tylko w walidatorami wcześniej)
- Dodaj narzędzie __version__ w gzymsu / __ __ startowych. Py
Co nowego w wersji 0.11:
- rozszerzenie Sfinks jest teraz dostarczonych przez cornice.ext. Moduł sphinxext
- Dodaj wsparcie dla SPORE
- dodać opcjonalny "error_handler ', aby wyświetlić deklaracji.
- Services.default_ {zatwierdzające, filtry} jest teraz używany. (Fix # 75)
Co nowego w wersji 0.10:.
- Wykorzystanie pcreate niż naklejka stworzyć
- pozwalają, aby dodać własne wartości błędów.
Co nowego w wersji 0.9:
- Wartości domyślne schematu są przyjmuje się w organizmie
- refactored wewnętrzne API, więc nie są już za pomocą dekoratorów. Definicja usługi jest teraz oddzielone od rejestracji usług w mechanizmie routingu.
- zatwierdzające dodany klasowe i filtry
- dodany dokumentację wewnętrznych gzyms,
- przestarzałe atrybut service.schema. Zamiast używać service.definitions.
Co nowego w wersji 0.8:
- dodano wsparcie dla HTTP "Opcje" czasownik
- umożliwiają wielokrotne przyjąć definicje dla usługi.
- uzyskać docstring walidator dla automatycznego generowania doc
- stałe spoza ASCII problemy dokumentacji
- dodać drogę do ignorowania niektórych modułów przy skanowaniu venusian.scan.
Co nowego w wersji 0.7.
- licencji MPL 2.0 aktualizacja
- przemianowany cornice.schemas do cornice.errors
- Dodane get_view_wrapper metody do klasy usług, aby wspierać podklasy owijania zobacz callables w / dekoratorów,
- dodano wsparcie buildout
- dodane poglądy oparte na klasy i dekorator zasobów
- upewnić używamy wyjątki piramidy. Nie Webob w.
- Filtry dodano wsparcie
- dodano wsparcie schematu
- dodano wsparcie json xsrf
- teraz Status błędy mogą się różnić od 400.
Co nowego w wersji 0.6:
- Różne poprawki w jawnym
Co nowego w wersji 0.3:
- Usuń pojedyncza & quot; _defined & quot; Stan z klasy Serwisu; Pozwala to definicji usługi, które mają zostać załadowane na więcej niż jednej Konfiguratorze.
Wymagania :
- Python
Komentarze nie znaleziono