Когда я взглянул на Катализатора и Генделя в частности, я снова подумал об этом REST .
Мне кажется, что очень немногие люди получают точку зрения (и я не утверждаю, что я понимаю). Было много умных дебатов, некоторые даже приземленные , но что действительно означает REST? Какие практические последствия могут использовать веб-разработчики? Как мы устраняем серые области? Это отдых?
То, что я почти уверен в том, что Рой описывал , в глубине души, очень простой набор идей, основанный на простом протоколе, который обеспечивает все, что вам нужно. Но в бесконечных дебатах против SOAP точка зрения, кажется, была потеряна.
Одна конкретная цитата из интерпретации Википедии …
В REST […] упор делается на разнообразие ресурсов или существительных
Скажем так, как это смелое утверждение, которое мы можем использовать на самом деле:
Никогда не помещайте глаголы в URL
В этой степени внесены изменения, так что этот URL — http://www.example.org/users/ search ? Surname = Майклз становится следующим: http://www.example.org/users?surname=Michaels
Будет запущено с двумя исключениями (но я думаю, что единственными исключениями) — доменные имена или где глагол на самом деле является частью имени (например, заголовок в «дружественной для поисковых систем» URL), как это
Подумайте, последствия, вытекающие из этого правила, могут значительно упростить использование фреймворков, если вокруг него будут разработаны API-интерфейсы — промежуточное звено между этим и фреймворками, такими как Catalyst и Rails, которые, я думаю, перевернули проблему в эту форму .
В терминах Catalyst это сводится к контроллерам, как;
package MyApp::Controller::Cart::Item;
use strict;
use base 'Catalyst::Base';
sub new : Regex('^(d+)$') {
my $class = shift;
my $self = Catalyst::Base->new();
bless($self, $class);
return $self;
}
sub GET {
my ( $self, $c ) = @_;
# Do HTTP GET stuff here
}
sub POST {
my ( $self, $c ) = @_;
# Do HTTP POST stuff here
}
sub DELETE {
my ( $self, $c ) = @_;
# perhaps...
}
Оставлю это там. Не стесняйтесь POST пламя или что-то