Kohana 3.2 e REST dúvidas

58 views
Skip to first unread message

felipe moraes

unread,
Sep 9, 2011, 6:28:18 PM9/9/11
to Kohana Php
Olá pessoal,

Estou tentando entender como se aplica REST em Kohana, e logo no 3.2 que deixou de dar suporte nativo. :D

Pois bem, estou lendo o wikipedia para entender como o REST funciona,

http://pt.wikipedia.org/wiki/REST .. procurarei outras fontes, se souberem de algo melhor, por favor indique.

E quero saber o seguinte:

Vocês utilizam o controller_rest da versão 3.1 no 3.2 ou já estão usando o módulo restful do moisor [futuro módulo rest do kohana]?

Conhecem algum site que explique como usar REST no kohana ? No sentido de, como criar controllers .. controller_product extends controller_rest .. e métodos .. get_list() post_list() ..

Diogo Machado

unread,
Mar 1, 2012, 12:11:25 PM3/1/12
to kohan...@googlegroups.com
Estou muito interessado também em aprender REST, porém não sei também onde começar, estou estudando algumas APIs que utilizam a tecnologia.

jose antoniel de lima Lima

unread,
Mar 1, 2012, 12:46:07 PM3/1/12
to kohan...@googlegroups.com
É também estou entereçado no assunto porém a correria dos projetos não me deixam estudar profundamente sobre o assunto do rest, mais qualquer noticias e bom saber, não deixem de postar aki.

tem um artigo da ibm muito bom sobre o assunto porem os exemplos são em java:


felipebastosweb

unread,
Mar 5, 2012, 10:01:07 AM3/5/12
to kohan...@googlegroups.com


Em sexta-feira, 9 de setembro de 2011 19h28min18s UTC-3, felipebastosweb escreveu:

felipebastosweb

unread,
Mar 5, 2012, 10:10:19 AM3/5/12
to kohan...@googlegroups.com
caramba .. perdi a resposta .. esse google groups novo é muito confuso.. vou resumir

Route::set('rest', 'api/(<controller>(/<action>(/<id>)))')
->defaults(array(
'controller' => 'welcome',
'action'     => 'index',
));

modificações na Linha 112 do arquivo Kohana_Request_Client_Internal


if ( ! $class->hasMethod('action_'.$action) && ! $class->hasMethod(strtolower($request->method()).'_'.$action))
{
throw new HTTP_Exception_404('The requested URL :uri was not found on this server.',
array(':uri' => $request->uri()));
}
if($class->hasMethod('action_'.$action))
{
$method = $class->getMethod('action_'.$action);
}
elseif(in_array($request->method(), array('GET', 'POST', 'PUT', 'DELETE'))) {
$method = $class->getMethod(strtolower($request->method()).'_'.$action);
}
//$method = $class->getMethod('action_'.$action);
$method->invoke($controller);

Meu controller tá assim .. 

function action_index()
function get_index()
function post_save()
function put_update()
function delete_delete()

Mas sei que o padrão não é esse .. tem de ser orientado a substantivos ao invés de ações ..

O padrão seria .. 

GET produto
GET produto/12
POST produto
PUT produto/12
DELETE produto/12

tem tbm a reconstrução do pensamento quando se tem muitos filtros .. Chamo produto por fornecedor ou fornecedor e produto vem junto?

já aprendi que devo chamar fornecedor .. GET fornecedor/12 e todos os produtos dele vem junto :D

mas isso é fácil de resolver .. 

minha grande dificuldade agora é saber .. qual a verdadeira função de POST e PUT? Na internet cada um diz uma coisa .. 

POST -> INSERT .. outros UPDATE .. outros INSERT e UPDATE (save)

e por aí vai .. ninguém sabe o padrão corretamente .. 

aí .. rsrsrsrs... já que desvendei o inicio .. rsrs... peço que alguém leia o livro RESTful PHP WebServices que tá lá no 4shared e desvende o que PUT e POST realmente são obrigados a fazer e depois compartilhe conosco :D

Só fiz o Internal a pedido de um amigo .. mas to muito ocupado pra desvendar isso agora :D hehehe
Reply all
Reply to author
Forward
0 new messages