Hallo,

Ik ga een REST API maken voor mijn web applicatie.
Nu is mijn vraag hebben jullie nog tips?

De API hoef alleen gegeven op te halen.
Je moet ingelogd zijn om bij de API te kunnen, ik dacht zelf aan HTTP authentication.
Over hoe de url er uit moet zien ben ik nog niet helemaal uit, wil zo flexibel mogelijk zijn.
En is het slim om alleen json output te ondersteunen?
Als framework ga ik Laravel gebruiken daar is de applicatie namelijk ook op gebouwd.
het een zou het ander niet uit hoeven sluiten. Ginger FM is puur en alleen voor het REST stuk.
Heel erg ingewikkeld hoeft het niet te zijn is mijn mening. JSON voldoet prima maar als je het "grote publiek" wilt bereiken dan is het een overweging om naast JSON ook XML aan te bieden. Dit om het simpele feit dat er mensen zijn die daar meer ervaring mee hebben dan met JSON. En onbekend is onbemind zoals het oude spreekwoord zegt.

Daarnaast enkele golden rules:
- Gebruik een TOKEN voor de authenticatie en geen username/wachtwoord
- Zet een versienummer in de url(s) zodat je later nog een nieuwere versie kunt maken zonder dat de bestaande gebruikers hier last van hebben
- gebruik clean URL's
De API is voor een bepaalde doelgroep ik denk dat JSON dan wel voldoende is.

Zelf dacht ik aan een token met een wachtwoord en eventueel nog op IP basis te gaan werken.
Waarom geen username/password gebruiken bij een API maar een token?

Hoe kun je het beste een token generen?
Wat bedoel je precies met clean URL's?
Een token kun je vrij eenvoudig genereren met bijv. sha1(). Een username en password is altijd persoonlijk. Met een api zal het een applicatie zijn die zichzelf moet identificeren. Deze applicatie wordt meestal door iemand anders ontwikkelt dan de eigenaar van de login - gegevens. Het handigste is dan ook om je gebruikers achter een login een token te laten aanmaken die ze vervolgens kunnen kopiƫren en in hun script kunnen plakken.

Urls:
Http://domein.nl/api?version=v1&commando=doeiets&token=abcde

Clean url:
Http://domein.nl/api/v1/doeiets/abcde

Reageren