Ik ben momenteel bezig met het ontwikkelen van een semi-RESTful API om mee te verbinden vanuit onder andere een iOS app, mijn eigen (externe) web applicaties maar eventueel later ook voor derde. Hiervoor wil ik een Facebook Graph API achtige query structuur. Een voorbeeld is misschien het makkelijkste (check hier hoe FB deze 'batch calls' doet):
Stel ik wil vanuit mijn app van de huidige user (/users/me) algemene informatie ophalen en de adressen van deze user ophalen:
GET /users/me?fields=id,name,dob,email,adresses(id,name,company,streetname,zipcode,city,country)
Of de orders incl de orderlines/productinformatie + intersectiegegevens van deze entiteit relatie zoals quantity:
GET /users/me?fields=id,name,orders(id,date,status,shop(id,name,logo),products(id,quantity,title,description,image,limit:500,offset:0),limit:500,offset:0)
Output komt als JSON terug. Ik ben gebonden aan PHP icm een MySQL database (in te richten dus qua structuur op alle punten aan te passen/rekening te houden met hoe mijn code er uit gaat zien)
Afin, leuk dat ik zoiets heb bedacht dat aardig dynamisch werkt. (Jullie hebben door dat het over een webshop achtig iets gaat toch?
). Helaas loop ik toch wel een beetje vast met de uitwerking. Althans, voor zover ik daar mee bezig ben, ik ben vooral eerst voor mezelf op een rijtje aan het krijgen hoe ik dit wil gaan uitwerken programmeersgewijs/structureel. Een 1:1 relatie is natuurlijk een makkie om uit te laten zoeken, 1:n en n:1 relaties zie ik ook niet als een probleem. Wat voor mij het probleem is, waar ik dus qua gedachtegang vast loop is n:m relaties. Moet ik de koppeltabel als apart model/collection gaan behandelen? Mijn eerste ingeving zou zijn, ja, aangezien het ook voor kan komen dat de koppeltabel ook niet relationele data bevat.
Het probleem is dat ik dit allemaal zo abstract en dynamisch mogelijk wil uitwerken, zodat mijn model en collection klassen straks simpelweg de tabelnaam, velden en relaties (type relatie en foreigns) aangeven.
Een aantal vragen die ik graag aan jullie voorleg:
- Ben ik te moeilijk bezig? (Het antwoord is JA, maar goed, ik ben eigenwijs, dus: zitten er structurele fouten in mijn opzet)
- Bestaat er een framework/library die een soortgelijke query-achtige-structuur slikt en in een model-collection vorm uitwerkt, kinda like FB Graph API?
- Hoe kan ik een relatie van een model met een ander model (1:1) en een model met een collectie (1:n, n:1, n:m) het beste 'inprogrammeren' in mijn model en collectieklassen?
- Is mijn structuur model-collection(of models) wel correct? Moet ik dit misschien uitbreiden?
Alvast bedankt voor jullie waarschijnlijk vele malen objectievere input!
Stel ik wil vanuit mijn app van de huidige user (/users/me) algemene informatie ophalen en de adressen van deze user ophalen:
GET /users/me?fields=id,name,dob,email,adresses(id,name,company,streetname,zipcode,city,country)
Of de orders incl de orderlines/productinformatie + intersectiegegevens van deze entiteit relatie zoals quantity:
GET /users/me?fields=id,name,orders(id,date,status,shop(id,name,logo),products(id,quantity,title,description,image,limit:500,offset:0),limit:500,offset:0)
Output komt als JSON terug. Ik ben gebonden aan PHP icm een MySQL database (in te richten dus qua structuur op alle punten aan te passen/rekening te houden met hoe mijn code er uit gaat zien)
Afin, leuk dat ik zoiets heb bedacht dat aardig dynamisch werkt. (Jullie hebben door dat het over een webshop achtig iets gaat toch?
Het probleem is dat ik dit allemaal zo abstract en dynamisch mogelijk wil uitwerken, zodat mijn model en collection klassen straks simpelweg de tabelnaam, velden en relaties (type relatie en foreigns) aangeven.
Een aantal vragen die ik graag aan jullie voorleg:
- Ben ik te moeilijk bezig? (Het antwoord is JA, maar goed, ik ben eigenwijs, dus: zitten er structurele fouten in mijn opzet)
- Bestaat er een framework/library die een soortgelijke query-achtige-structuur slikt en in een model-collection vorm uitwerkt, kinda like FB Graph API?
- Hoe kan ik een relatie van een model met een ander model (1:1) en een model met een collectie (1:n, n:1, n:m) het beste 'inprogrammeren' in mijn model en collectieklassen?
- Is mijn structuur model-collection(of models) wel correct? Moet ik dit misschien uitbreiden?
Alvast bedankt voor jullie waarschijnlijk vele malen objectievere input!