Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
WoOo

API - Que tipo de URL utilizar

Recommended Posts

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

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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***

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.