Beste leden,

Wij zijn bezig met het opzetten van een API en hiervoor zoeken we nog naar de juiste structuur.

Het systeem zal gaan werken op basis van http get commando's. Men zou dus als het ware een API command kunnen uitvoeren in de adres balk. Hierop zal dan een xml antwoord terug gegeven worden. Globaal zal een API commando er zo uit gaan zien:

http://www.site.nl/command.php?apiuser=GEBRUIKER&apipass=PASS&commando={add|del|get|upd|upgr|list}&subcommand=email&param1=..&param2=...

Het commando geeft dus aan wat voor actie er uitgevoerd zal worden dit kan zoals in het commando te zien is add, del, get, upd, upgr, en list zijn. Het subcommando geeft aan op welk onderdeel dit van toepassing is. De params zijn extra waarde, welke per subcommando anders kunnen zijn.

Als structuur denken wij aan het opzetten van een soort van hoofd class, bijvoorbeeld de class command waar alles binnen zal komen, deze zal getriggerd worden in commando.php, hier zal alle user data gecontroleerd worden. Hierna zal het systeem het commando door moeten verwijzen naar een andere class waar de actie uitgevoerd moet worden welke van toepassing is, maar hier lopen we nog een vast hoe dit verder te gaan uitwerken.

Hoe raden jullie aan om dit op te pakken?

Erwin
Volgens mij heb je het wel helder hoe je het wil doen. Da's opzich een goede oplossing.

Zoek anders nog eens op iets zoals "How to implement RESTful services" en "adapter design pattern" voor je 'commando.php'.
Gerben, we hebben al gekeken naar REST methode, maar hier zitten beperkingen op. Bij een REST methode werken ze met GET POST PUT en nog één waarbij enkel de GET command via de adres balk uit te voeren is.

Zit nu te kijken naar het opzetten van een simpel framework met de MVC structuur.
Erwin schreef op 01.02.2010 15:18

...
Zit nu te kijken naar het opzetten van een simpel framework met de MVC structuur.


Bedenk eerst goed welke commando's je allemaal wilt uitvoeren, en verder.
Een framework is niet iets wat je zomaar even kan opzetten, en zeker niet als je nog niet weet hoe en wat het moet gaan werken.

Daarnaast zou ik er juist naar kijken om het NIET, ja ik zeg NIET met de GET-methode te doen. POST/SOAP, over HTTPS achter een .HTACCES lijkt met beter voor de veiligheid. Maar ook dat is weer afhankelijk van wat je wilt.
De commando's zijn al bepaald, met de waarde welke de gebruiker moet meegegeven en de response die men erop zal krijgen. Nadeel van SOAP vind ik dat het minder toegankelijk is dan een http aanvraag door middel van cURL bijv.
Het is ook afhankelijk van je doel. Als er ook 'gevoelige' informatie mee verstuud moet gaan worden, is GET niet mijn keuze.

Ik denk dat je per command een class moet aanmaken, en de params in een array meegeven. (Dat is een nadeel van GET) De GET-params moet je dan naar een Array verwerken.
@Erwin,,
Als je zo met die URL's werkt is prima,
Kijk ook eens naar de hyves Api, die doet dat ook.
Niet iedere taal heeft cUrl o.i.d..
Maar (bijna) iedere taal kan een webpagina ophalen via een URL.
Jim schreef op 01.02.2010 16:40

Ik denk dat je per command een class moet aanmaken, en de params in een array meegeven. (Dat is een nadeel van GET) De GET-params moet je dan naar een Array verwerken.

Dat was het idee idd, maar hoe kan je dit het beste aanpakken, alle commandos komen binnen op commando.php waar de auth wordt uitgevoerd en waarna die moet doorgesluisd worden naar het desbetreffende command.
People discredit slavery but accept democracy, isn't that weird?
Vreemde reactie!
Erwin schreef op 02.02.2010 12:48
Vreemde reactie!

Lekker laten gaan, gewoon iemand met aandachtstekort.

Reageren