Je suis en train de concevoir une API RESTful pour les tests et les métadonnées de tests. J'ai deux ressources: Test
et TestRun
. Sous le capot, ils ont une relation un-à-un dans la base de données. Je crée d'abord une ressource Test
en envoyant un POST
à api/v1/test
.Création/modification d'une ressource en envoyant une requête POST à une autre ressource (associée)
Ensuite, je dois commencer ce test. Je fais cela en envoyant un POST
à api/v1/test/{id}/run
, ce qui crée une ressource TestRun
qui se rapporte à cette ressource Test
.
Ensuite, je peux aussi arrêter le test en envoyant un POST
-api/v1/test/{id}/finish
, qui modifie la TestRun
ressource (définit certains domaines, comme finish_time
, result
etc.) correspondant.
L'utilisateur de l'API n'aura jamais GET
accès aux ressources TestRun
et n'y aura accès qu'à travers ses ressources Test
.
Bien qu'il semble que cette conception soit assez simple pour l'utilisateur de l'API, je doute que ce soit aussi simple pour un développeur. Ce design est-il assez bon? Viole-t-il les principes ou les meilleures pratiques REST? J'apprécierais toute contribution à ce sujet.
Une description de la conception étendue de toute l'API: https://gist.github.com/Ch00k/27724e29ec1bf044ebbfdabef9e842d5
'Je doute que ce soit aussi simple pour un développeur'. Quel pourrait être le problème? –
@Lutz Horn C'était apparemment une mauvaise question :) Je me demandais juste si c'était une bonne idée de la façon dont je l'ai fait, et si ce n'est pas contre les bonnes pratiques REST. –