É pra diferenciar pelo método sim. Cada método tem sua finalidade (GET
lista, POST bombril, PUT atualiza, DELETE bem, exclui).

http://developer.mindtouch.com/REST/REST_for_the_Rest_of_Us

Agora se foi feito por ajax, via browser isso não compete ao rest e sim a
interface de acesso que voce está proporcionando.

2012/7/25 felipe bastos <[email protected]>

> E lembrando ..
>
> Uma requisicao normal e uma rest sao identicas ..
>
> REST é apenas conceitual .. nao da pra diferenciar pelo method ..
>
> O que pode fazer .. é tratar nos controllers algumas variaveis .. method,
> accept, formato de retorno, etc de forma mais amigavel.
> Em 25/07/2012 11:43, "felipe bastos" <[email protected]> escreveu:
>
> Muito complicado criar uma rota para cada funcionalidade ..
>>
>> Tenta utilizando funcoes anonimas como segundo/terceiro parametro da
>> route::set .. pode ser uma alternativa mais viavel ..
>>
>> Route::set(nome, controller/id, function(){})-default();
>>
>> Na function trata accept, format, etc .. seria legal ter um
>> Controller_Rest com um render() mais propriado ..
>>
>> So nao tenho como tentar agora (so daqui a 15 dias kkk), se conseguirem
>> .. posta ai
>> Em 25/07/2012 11:23, "Waldson Patricio" <[email protected]>
>> escreveu:
>>
>>> Olhem ai: http://pastebin.com/dGdybYsT <http://pastebin.com/vLpkq3Uj>
>>>
>>> Uso:
>>>
>>> Colocar essa classe em um modulo ou no application e na definição de
>>> rotas:
>>>
>>> Route::rest_set(HTTP_Request::GET, 'rest_products_list',  'api/products')
>>>      ->defaults(array(
>>>          'action'      => 'list',
>>>          'controller'  => 'products'
>>>      ));
>>>
>>> Route::rest_set(HTTP_Request::PUT, 'rest_products_add',  'api/products')
>>>      ->defaults(array(
>>>          'action'      => 'add',
>>>          'controller'  => 'products'
>>>      ));
>>>
>>> No controller products criar os métodos: action_get_list, action_put_add
>>> para gerenciar as requisições. Se não quiserem o prefixo do método (put,
>>> get, post e delete) é só remover o método defaults.
>>>
>>>
>>> 2012/7/25 felipe bastos <[email protected]>
>>>
>>>> Vejam o respect/rest respect/relational e outros modulos do respect ..
>>>>
>>>> Ta sendo construido pelo alexandre gaigalas do phpbr
>>>>
>>>> E o controller pode vir como objeto
>>>>
>>>> App-get("rota", "NomeController");
>>>>
>>>> Por modulo, tlvz de pra integrar .. (respect/slim e outros)
>>>> Em 25/07/2012 09:53, "felipe bastos" <[email protected]> escreveu:
>>>>
>>>> Sao os micro ou nano frameworks php ..
>>>>>
>>>>> Tem varios nesse estilo .. um deles, feito pela galera do symfony ..
>>>>> da pra usar os mesmos componentes do symfony nele ..
>>>>>
>>>>> Eu criei em ko puro pq quero q a propria aplicacao funcione como api
>>>>> .. e, toda a aplicacao roda via ajax ..
>>>>>
>>>>> Mas nada impede de criar outra aplicacao com slim so para api
>>>>> Em 25/07/2012 09:45, "Waldson Patricio" <[email protected]>
>>>>> escreveu:
>>>>>
>>>>>> Foi justamente isso que pensei. Estender o Route (RestRoute) e
>>>>>> implementar esses métodos e usar a interface do Kohana mesmo:
>>>>>>
>>>>>> RestRoute::get('rota_id', 'api/products/<id>')->....
>>>>>> RestRoute::post('rota_id', 'api/products/<id>')->....
>>>>>> RestRoute::put('rota_id', 'api/products/<id>')->....
>>>>>> RestRoute::delete('rota_id', 'api/products/<id>')->....
>>>>>>
>>>>>> e a função do controller (Que também terá um RestController) fazer as
>>>>>> actions com prefixo do método:
>>>>>>
>>>>>> function action_get_products
>>>>>>
>>>>>> function action_put_products
>>>>>>
>>>>>>
>>>>>> 2012/7/25 jose antoniel de lima Lima <[email protected]>
>>>>>>
>>>>>>> Tenho lindo sobre backbone js achei muito entereçante esse framework
>>>>>>> agora achei esse Slim PHP e possivel configurar as rotas com ele da
>>>>>>> seguinte maneira, achei bacana esse Slim talvez de para fazer algo com 
>>>>>>> as
>>>>>>> rotas do kohana aclopado do Slim, algo do tipo:
>>>>>>>
>>>>>>> Route::set('slim', array('Slim', 'route'));
>>>>>>>
>>>>>>> ai na função do Slim que executa a rota posso fazer retorna uma rota
>>>>>>> com controller, action e id para que o kohana execute a ação, acho que 
>>>>>>> isso
>>>>>>> pode funcionar, vou ver quando iniciar o projeto e posto aki.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> //GET route
>>>>>>> $app->get('/hello/:name', function ($name) {
>>>>>>>     echo "Hello, $name";
>>>>>>> });
>>>>>>>
>>>>>>> //POST route
>>>>>>> $app->post('/person', function () {
>>>>>>>     //Create new Person
>>>>>>> });
>>>>>>>
>>>>>>> //PUT route
>>>>>>> $app->put('/person/:id', function ($id) {
>>>>>>>     //Update Person identified by $id
>>>>>>> });
>>>>>>>
>>>>>>> //DELETE route
>>>>>>> $app->delete('/person/:id', function ($id) {
>>>>>>>     //Delete Person identified by $id
>>>>>>> });
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Atenciosamente,
>>>>>>> José Antoniel de Lima
>>>>>>> Analista de Sistemas PHP5
>>>>>>>
>>>>>>>  --
>>>>>>> Você está recebendo esta mensagem porque se inscreveu no grupo
>>>>>>> "Kohana Php" dos Grupos do Google.
>>>>>>> Para postar neste grupo, envie um e-mail para
>>>>>>> [email protected].
>>>>>>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>>>>>>> [email protected].
>>>>>>> Para obter mais opções, visite esse grupo em
>>>>>>> http://groups.google.com/group/kohana-php?hl=pt-BR.
>>>>>>>
>>>>>>
>>>>>>  --
>>>>>> Você está recebendo esta mensagem porque se inscreveu no grupo
>>>>>> "Kohana Php" dos Grupos do Google.
>>>>>> Para postar neste grupo, envie um e-mail para
>>>>>> [email protected].
>>>>>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>>>>>> [email protected].
>>>>>> Para obter mais opções, visite esse grupo em
>>>>>> http://groups.google.com/group/kohana-php?hl=pt-BR.
>>>>>>
>>>>>  --
>>>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
>>>> Php" dos Grupos do Google.
>>>> Para postar neste grupo, envie um e-mail para
>>>> [email protected].
>>>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>>>> [email protected].
>>>> Para obter mais opções, visite esse grupo em
>>>> http://groups.google.com/group/kohana-php?hl=pt-BR.
>>>>
>>>
>>>  --
>>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
>>> Php" dos Grupos do Google.
>>> Para postar neste grupo, envie um e-mail para
>>> [email protected].
>>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>>> [email protected].
>>> Para obter mais opções, visite esse grupo em
>>> http://groups.google.com/group/kohana-php?hl=pt-BR.
>>>
>>  --
> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
> Php" dos Grupos do Google.
> Para postar neste grupo, envie um e-mail para [email protected].
> Para cancelar a inscrição nesse grupo, envie um e-mail para
> [email protected].
> Para obter mais opções, visite esse grupo em
> http://groups.google.com/group/kohana-php?hl=pt-BR.
>

-- 
Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos 
Grupos do Google.
Para postar neste grupo, envie um e-mail para [email protected].
Para cancelar a inscrição nesse grupo, envie um e-mail para 
[email protected].
Para obter mais opções, visite esse grupo em 
http://groups.google.com/group/kohana-php?hl=pt-BR.

Responder a