Mercurial > pub > Impl
comparison Lib/IMPL/Web/Handler/RestController.pm @ 213:d6e2ea24af08
sync
author | sergey |
---|---|
date | Fri, 03 Aug 2012 01:15:15 +0400 |
parents | 292226770180 |
children | 47f77e6409f7 |
comparison
equal
deleted
inserted
replaced
212:292226770180 | 213:d6e2ea24af08 |
---|---|
73 | 73 |
74 =pod | 74 =pod |
75 | 75 |
76 =head1 NAME | 76 =head1 NAME |
77 | 77 |
78 C<IMPL::Web::Handler::RestController> - Транслирует запросы к ресурсам в вызовы методов. | |
79 | |
78 =head1 SYNOPSIS | 80 =head1 SYNOPSIS |
81 | |
82 Использует контракты для преобразования стандартных C<REST> запросов в вызовы методов объектов. | |
83 C<$ENV{PATH_INFO}> используется как путь к нужному ресурсу у которого будет вызван метод указанный в запросе. | |
79 | 84 |
80 =head1 DESCRIPTION | 85 =head1 DESCRIPTION |
81 | 86 |
82 Использует C<$ENV{PATH_INFO}> для получения ресурса и вызова метода. | 87 =head2 Resource model |
88 | |
89 Ресурсы имеют иерархическую структуру, аналогичную файлам и каталогам, которая описывается контрактом, также | |
90 контрак описывает то, как должны обрабатываться методы C<HTTP> запроса, такие как C<GET> и C<POST>. | |
91 | |
92 За корректность реализации данных методов отвечает разработчик. | |
93 | |
94 Каждый ресурс представляет собой коллкецию вложенных ресурсов, путь указанный в C<HTTP> запросе разбивается на | |
95 части, затем каждый сегмент последовательно используется для поиска дочернего ресурса. При обработки | |
96 первого сегмента используется корневой ресурс. Корневой ресурс должен существовать всегда. | |
97 | |
98 =head2 Contract | |
99 | |
100 Контрактом может быть любое преобразование которое определяет соответсвие между объектами приложения и | |
101 ресурсами, доступными через протокол C<HTTP>. | |
102 | |
103 | |
83 | 104 |
84 | 105 |
85 =cut | 106 =cut |