Estou construindo extensões Joomla desde a v1, mas logo preciso fazer uma API ao vivo que construí e uso há algum tempo. Atualmente, estou usando o Joomla 2.5 e escrevi plugins para este sistema:
https://github.com/techjoomla/com_api
Antes de ir ao ar, eu gostaria de testar o sistema o máximo possível. Esse componente da API apenas recentemente começou a ser atualizado para funcionar com o Joomla v3, portanto, atualmente está impedindo a atualização do site. Também acho que separar a API pública e o portal do usuário faz sentido, pois não há benefício em ser uma extensão integrada, pois a API será usada por aplicativos móveis.
O plano atual é reconstruir a API em um subdomínio, o que nos permitirá atualizar o portal do usuário. Eu tenho lido sobre o novo framework Joomla, que parece emocionante. Isso seria adequado para criar uma API RESTful para nossos aplicativos móveis? Em caso afirmativo, são dicas sobre como começar? Eu li que o FoF pode ser usado para criar uma API, isso seria uma boa escolha? Vi o projeto Kickstarter com a intenção de criar exatamente esse tipo de API. Essa é uma opção em potencial? Devo apenas retirar o site 2.5 atual do subdomínio para que ele execute apenas a API?
Todas as sugestões sobre a melhor abordagem para a criação de uma API RESTful baseada em Joomla para interação móvel serão muito apreciadas.
Respostas:
Da minha experiência:
Sobre o framework Joomla
Tentei criar uma API RESTful simples para autenticação integrada com base no framework Joomla. É bastante complexo, bem diferente da API atual do Joomla. Além disso, o código-fonte atual não pode ser colado e as bibliotecas podem retornar resultados inesperados (sendo executados em um ambiente diferente). Vou esperar até que mais código esteja disponível e tenha uma maior adoção.
Sobre a estrutura FOF
Atualmente, estou desenvolvendo apenas com FOF. Bastante útil, muita RAD, configuração automática, etc; e o código é compatível com J2.5 / J3.
Para uma API RESTful, você pode simplesmente pegar o exemplo todo-fof e adicionar um controlador à API. Exemplo:
Além disso, você pode tirar proveito das visualizações json automáticas. Por exemplo, uma visualização de navegação (default.php) pode gerar saída json (apenas adicionando
default_json.php
eecho json_encode
...)fonte
com_api é definitivamente uma boa maneira de criar serviços REST para o seu site se a extensão em si não for baseada em FOF / RAD. No entanto, tenha cuidado com algumas dicas, se você planeja criar uma instância separada do Joomla apenas para a API
Além disso, tenho certeza de que não deve haver problemas, pois isso continuará sendo desenvolvido até que exista uma maneira de criar APIs do Joomla.
Disclaimer: Eu sou o mantenedor de https://github.com/techjoomla/com_api
fonte
Meus dois centavos:
Para um cliente, eu precisava acessar o conteúdo do site joomla a partir de um aplicativo para smartphone. O conteúdo foi colocado em com_content, então inicialmente usei feeds obRSS. Então eu encontrei o jBackend no JED e tentei. Está disponível aqui http://www.selfget.com/products/jbackend.html O código parece muito limpo e suporta solicitações RESTful e respostas JSON. A documentação online é limitada, mas suficientemente clara para os técnicos. Infelizmente, no momento, ele suporta apenas com_user e com_content, mas no meu caso, isso estava bem. Agora devo usá-lo para outro cliente que usa o K2 CCK. Estou tentando criar um plug-in personalizado para acessar artigos e categorias do K2, mas pelo menos salvarei o código de gerenciamento de solicitações inteiro. Enviei um email para o desenvolvedor e ele me disse que também está trabalhando em módulos adicionais como o fórum K2 e Kunena, é uma extensão muito promissora.
fonte
O site a seguir parece ser um excelente recurso para diretrizes sobre como criar uma API JSON RESTful:
http://jsonapi.org/
Para o que vale a pena, também estou lançando um produto API para o Joomla 3.4.x chamado cAPI http://getcapi.org .
O principal diferencial aqui é que eu apostou minha estrutura de roteamento na micro-estrutura Slim. Isso me permite incorporar uma estrutura robusta já testada e testada na instância do aplicativo Joomla. Também criei uma arquitetura de plug-in para as rotas de serviço, abrindo a porta para complementos e segurança de serviços da web.
Você pode encontrar informações adicionais de outras postagens aqui:
/programming/26340885/rest-api-for-joomla-3-0/32706378#32706378
Deixe-me saber se você tiver alguma dúvida.
fonte