FabeLa relation n'est navigable que dans un sens ?Il s'agit grosso modo de compétences qu'une personne possède. J'ai d'un coté une liste de personnes, de l'autre une liste de compétences, et entre les deux le lien. En pratique, l'application doit permettre d'obtenir les compétences d'une personne, et aussi d'obtenir les personnes à partir d'une compétence. Donc, oui, c'est navigable dans les deux sens malheureusement.
L'objet A ne donne pas le lien vers les objets B associés ?
FabeSinon le principe du filtre semble valide mais il est moins "auto-découvrable" que de simplement naviguer entre les ressources de l'API.Dans l'application que j'envisage, l'API n'est utilisée que par l'application, elle n'a pas vocation de pouvoir être utilisée par d'autres personnes (et je souhaite d'ailleurs fortement limiter cela, notamment en interdisant les cross-requests, sauf le temps du développement, parce que ce sera accédé à partir d'une page statique + angularJS, donc pas besoin d'un serveur de test).
GuybrushJ'ai donc :Une API bien construite et auto-documentée est la partie visible d'une application bien conçue. Tu te remercieras plus tard si un jour ou l'autre tu souhaite améliorer ton client AngularJS, d'avoir une API qui suggère son utilisation
- /personnes/3/competences --> liste des compétences de la personne 3.
- /competences/14/personnes --> liste des personnes de la compétence 14
...
- Dans le premier cas, je peux faire un appel sur /personnes/3/competences/14 -> supprime/modifie le lien entre la personne 3 et la compétence 14.
...
J'ai donc une préférence pour la première solution...
[/quote}
Moi aussi ! Surtout si ton lien n'est pas porteur d'information, il n'a pas besoin d'être exposé dans l'API.
[quote=Guybrush]
Dans l'application que j'envisage, l'API n'est utilisée que par l'application, elle n'a pas vocation de pouvoir être utilisée par d'autres personnes (et je souhaite d'ailleurs fortement limiter cela, notamment en interdisant les cross-requests, sauf le temps du développement, parce que ce sera accédé à partir d'une page statique + angularJS, donc pas besoin d'un serveur de test).
GuybrushEn effet. Il me semblait avoir vu "list" quelque part, mais même si c'était le cas, je suis convaincu qu'il vaut mieux s'en passerÇa va parfois mieux en le disant, j'ai déjà fait démonter un petit nombre d'API qui nous faisait des routes en /users/create et /users/list. I
Ce message a été modifié 1 fois.
Dernière modification : 26 décembre 2014
à 14:26 par
Fabe.
GuybrushOk, je vois un peu mieux comment ça fonctionne. Il faut vraiment que je pense à me renseigner sur OAuth de façon générale, car je crois que c'est quelque chose qui devient peu à peu incontournable (ou en tout cas, rudement pratique pour certains cas "très grand public").Ce qu'on sait moins, c'est que ça convient bien et que ça permet de standardiser les cas d'authentification simples et pas spécialement grand public. A noter aussi l'existence d'SAML comme DSL d'authentification.
GuybrushCa dépend un peu de ce qu'on veut pouvoir proposer. Personnellement, je ne m'identifie jamais en utilisant un réseau social, ou quoique ce soit du genre. J'ai toujours mon bon vieux couple user/password (site-specific) que je n'abandonnerai pas, essentiellement parce que ça devient difficile de se souvenir, dans le cas contraire, sur quel site on s'est "inscrit" en utilisant Facebook, Twitter, Google+ ou autre.Ça c'est le cas d'un "client" OAuth, mais toi ton besoin est d'établir un "provider". Donc la question est de soit faire un protocole custom, soit d'utiliser la spéc OAuth
Ce message a été modifié 1 fois.
Dernière modification : 26 décembre 2014
à 16:12 par
Fabe.
1996-2024 — Lexpage v4 — GPLv3 (sources)
page générée le 22 décembre 2024 à 20:43:21