Mercurial > pub > Impl
diff Lib/IMPL/Web/Handler/RestController.pm @ 213:d6e2ea24af08
sync
author | sergey |
---|---|
date | Fri, 03 Aug 2012 01:15:15 +0400 |
parents | 292226770180 |
children | 47f77e6409f7 |
line wrap: on
line diff
--- a/Lib/IMPL/Web/Handler/RestController.pm Fri Jun 29 19:24:15 2012 +0400 +++ b/Lib/IMPL/Web/Handler/RestController.pm Fri Aug 03 01:15:15 2012 +0400 @@ -75,11 +75,32 @@ =head1 NAME +C<IMPL::Web::Handler::RestController> - Транслирует запросы к ресурсам в вызовы методов. + =head1 SYNOPSIS +Использует контракты для преобразования стандартных C<REST> запросов в вызовы методов объектов. +C<$ENV{PATH_INFO}> используется как путь к нужному ресурсу у которого будет вызван метод указанный в запросе. + =head1 DESCRIPTION -Использует C<$ENV{PATH_INFO}> для получения ресурса и вызова метода. +=head2 Resource model + +Ресурсы имеют иерархическую структуру, аналогичную файлам и каталогам, которая описывается контрактом, также +контрак описывает то, как должны обрабатываться методы C<HTTP> запроса, такие как C<GET> и C<POST>. + +За корректность реализации данных методов отвечает разработчик. + +Каждый ресурс представляет собой коллкецию вложенных ресурсов, путь указанный в C<HTTP> запросе разбивается на +части, затем каждый сегмент последовательно используется для поиска дочернего ресурса. При обработки +первого сегмента используется корневой ресурс. Корневой ресурс должен существовать всегда. + +=head2 Contract + +Контрактом может быть любое преобразование которое определяет соответсвие между объектами приложения и +ресурсами, доступными через протокол C<HTTP>. + + =cut \ No newline at end of file