Карниз надає клас обслуговування, ви можете використовувати, щоб визначити веб-сервісів в Піраміді.
Кожен екземпляр класу обслуговування відповідає шлях до сервера, і ви можете реалізувати різні методи HTTP на шляху з простими декораторів.
Карниз автоматично повернеться 405 помилка з правом Дозволити заголовок, якщо метод, який не був реалізований просив.
Карниз також директиву Sphinx, який можна використовувати, щоб документувати веб-служби. Перенесення перебирає певних служб і автоматично згенерувати документацію веб-служби.
QuickStart
Щоб використовувати карниз, почати з включення його у вашому проекті с ** включають ** спосіб в Піраміді:
І NBSP; & NBSP; & NBSP; Def основних (global_config, ** установка):
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; ...
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; config.include ("карниз")
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; ...
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; повернутися config.make_wsgi_app ()
Дізнайтеся більше про включати, по крайней http://docs.pylonsproject.org/projects/pyramid/1.0/narr/advconfig.html#including-configuration-from-external-sources
Тоді ви можете почати визначати веб-сервісів в ваших поглядах.
Наприклад, давайте визначимо сервіс, де ви можете ** GET ** і ** POST ** вартість на ** / значення / {значення} **, де * значення * є значення ASCII, що представляє ім'я значення:
І NBSP; & NBSP; & NBSP; імпорт JSON
І NBSP; & NBSP; & NBSP; від карниза Послуги Імпорт
І NBSP; & NBSP; & NBSP; значення = Сервіс (ім'я = 'Foo', PATH = '/ значення / {значення}',
опис = "Карниз Демо")
І NBSP; & NBSP; & NBSP; _VALUES = {}
І NBSP; & NBSP; & NBSP; @ Values.get ()
І NBSP; & NBSP; & NBSP; Def get_value (запит):
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; "" "Повертає значення.
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; "" "
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; ключ = request.matchdict ['значення']
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; повернутися _VALUES.get (ключ)
І NBSP; & NBSP; & NBSP; @ Values.post ()
І NBSP; & NBSP; & NBSP; Def set_value (запит):
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; "" "Встановіть значення.
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Повертає * Правда * або * Хибна *.
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; "" "
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; ключ = request.matchdict ['значення']
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; знайти:
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; _VALUES.set (Ключ, json.loads (request.body))
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; крім ValueError:
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; повернутися помилковим
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Повертає TRUE,
За замовчуванням, карниз використовує Json надана
Що нового У цьому випуску :.
- Додана Cross-Origin Resource Sharing ( CORS) підтримки.
Що нового у версії 0.12 :.
- Fix автоматично визначити думками голову від GET Перегляди
- Підтримка успадкування Друшляк (введений в нових версіях Друшляк)
- Перевірити наявність помилок у тілі зору і в валідаторів (був тільки перевірка в валідаторів раніше)
- Додати утиліти __version__ в карнизі / __ ініціалізації __. Ру
Що нового у версії 0.11:
- сфінкс розширення зараз, наданої cornice.ext. sphinxext Модуль
- Додана підтримка для SPORE
- додати параметр 'error_handler', щоб подивитися декларацій.
- Services.default_ {валідатори, фільтри} тепер використовується. (Fix # 75)
Що нового у версії 0.10 :.
- використання pcreate, а не Пастер створити
- дозволяє додавати власні значення помилок.
Що нового у версії 0.9:
- значення схеми за умовчанням передбачається, що в організмі
- реструктурувати внутрішні інтерфейси, тому ми більше не використовуєте декоратори. Визначення послуг в даний час відокремлена від реєстраційної служби по механізму маршрутизації.
- валідатори і фільтри додав клас рівня
- додасте документацію про карниза внутрішніх
- застарілим атрибут service.schema. Використовуйте замість service.definitions.
Що нового у версії 0.8:
- додана підтримка HTTP "Параметри" Дієслово
- Дозволити множинні прийняти визначення для служби.
- отримати рядок документації валідатора для автоматичної генерації док
- Виправлена непрацездатність ASCII проблеми документація
- додати шлях ігнорування деяких модулів при скануванні з venusian.scan.
Що нового у версії 0.7 :.
- Ліцензія оновлення MPL 2.0
- перейменовані cornice.schemas до cornice.errors
- Додана get_view_wrapper метод класу обслуговування для підтримки підкласи пакувальну думку викликаються об'єктів ж / декораторів
- Додана підтримка Споруда
- Додана переглядів основі класів і декоратор ресурс
- переконайтеся, що ми використовуємо винятку піраміди. Чи не WebOb-х років.
- Додана підтримка фільтрів
- Додана підтримка схеми
- Додана підтримка JSON XSRF
- тепер статус помилки може відрізнятися від 400.
Що нового у версії 0.6:
- Різні виправлення в явному
Що нового у версії 0.3:
- Видалити Сінглтон і Quot; _defined і Quot; держави від класу обслуговування; це дозволяє визначення послуг, які будуть завантажені в більш ніж однієї Configurator.
Вимоги
- Python
Коментар не знайдено