Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

WoOo

API - Que tipo de URL utilizar

Mensagens Recomendadas

WoOo

Viva,

Recentemente precisei de desenvolver uma API, mas como quero algo simples para o URL que irei fornecer aos utilizadores estou com algumas hesitações.

Pensei em algo como:

http://www.mydomain.com/api/action.php?(parâmetros)

http://www.mydomain.com/api/action/?(parâmetros)

Neste último caso não sei se usaria o mod_rewrite do apache ou se criaria mesmo uma pasta com um index.php. E é aqui que fico sem saber qual a melhor opção, e passo a explicar porquê.

Com o mod_rewrite o meu medo é que ao passar os parâmetros no url ocorra algum problema e não os consiga depois apanhar correctamente.

Criando a pasta e metendo um index.php la dentro, queria evitar fornecer o link http://www.mydomain.com/api/action/index.php?(parametros) e tentava então omitir o index.php para algo http://www.mydomain.com/api/action/?(parâmetros)

Neste caso, o apache por defeito está a procurar sempre o index.php dentro de uma pasta mas será que poderia ter problemas ao estar a omitir o index.php?

Fico a aguardar algumas sugestões de quem já tenha desenvolvido uma API ou se tenha deparado com um situação do mesmo género de modo a tentar chegar à opção mais fiável com o URL o mais "friendly" possível.

Cumprimentos

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Knitter

Este dois URLs são exactamente a mesma coisa. http://www.mydomain.com/api/action/index.php?(parametros)  = http://www.mydomain.com/api/action/?(parâmetros)

O que o apache vai fazer é adicionar o ficheiro por omissão e portanto ficam iguais. Não há mais problemas a usar um ou outro, são a mesma coisa se o apache estiver definido para servir, por omissão, os ficheiros index.php.

Não acho que a decisão pelo tipo de url seja importante, o importante é que a API seja consistente e ofereça tudo o que é necessário, se no URL usas query strings ou se usas URLs para identificar todos os recursos de forma inequívoca (tipo REST) é igual já que isso será provavelmente usado por uma aplicação e não há utilizadores a introduzir URLs. Como programador, não vejo mais dificuldade em usar um URL típico de WebServices REST ou de SOAP, ou outra coisa qualquer.

Acho que neste caso deves usar o que te der mais jeito de acordo com o que estás a fazer.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
WoOo

Sim é verdade, o utilizador quer é apenas saber como se liga e que parâmetros poderá utilizar, mas por vezes sou um bocado "mesquinho" nestas coisas de forma a ter sempre algo o mais simples e "limpo" possível.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Cybernavigator

Bem para tornares isso mais friendly podes sempre recorrer ao .htaccess e fazer reencaminhamentos.

Por exemplo passar de http://www.mydomain.com/api/action/?user=Username&pass=Password

para http://www.mydomain.com/api/Username/Password/

Para fazeres isto basta escrever no .htaccess o seguinte:

RewriteEngine on
RewriteRule ^api/(.*)/(.*)/$ api/action/?user=$1&pass=$2


Melhores cumprimentos,João Lopes***Esta mensagem foi escrita ao abrigo do novo Acordo Ortográfico***

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.