Suite 400 - 1681 Chestnut St.
Vancouver, BC V6J 4M6
Phone: (604)737-2333   Fax: (604)737-1140
seaforthexecutiveoffices@telus.net

Modèle de réponse à un cahier des charges

Voterait également pour l`ajout de plusieurs réponses avec le même code. Le meilleur exemple serait toute erreur 400 (requête incorrecte) qui peut être causée par de nombreuses raisons. Prenez par exemple des erreurs de validation: champs manquants, champs supplémentaires passés ou simplement fausses données fournies-toutes ces erreurs sont regroupées sous le même code d`État où l`erreur exacte est retournée en réponse Playload, qui peut varier pour chaque situation. Ceci est toujours considéré comme un comportement déterministe car il est défini de manière unique dans la réponse de Playload. Je crois que la restriction des réponses à un schéma unique par code d`État est excessivement rigide et restrictive. Les réponses génériques ne signifient pas nécessairement moins de déterminisme (bien qu`elles puissent, selon le niveau d`abstraction). Cela dit, je pourrais argumenter qu`il peut impliquer une conception d`API défectueuse en général, dans de nombreux cas;) @fehguy-donc revenir en arrière et l`examen de ce thread, je suis d`accord avec la plupart des arguments contre la surcharge dans ce thread. spécifiquement, vous avez dit: «Oui, Swagger a toujours eu un type de réponse déterministe par opération (combinaison de la méthode de requête http + chemin + code de réponse http)». plus tard, vous avez mentionné la proposition d`inclure tous les params de requête, et que vous avez senti que c`était “laid”.

Je suis largement d`accord avec cela. tandis que ma description initiale ci-dessus indique choisir le modèle basé sur n`importe quel en-tête, qui tombe probablement dans une catégorie semblable comme tous les paramètres de requête. Je suis d`accord que les idéaux REST visent l`URL et la méthode http définissant la ressource. Cependant, je dirais que le type de média est encore un facteur important. une ressource donnée peut avoir de nombreux formats et est contrôlée par les en-têtes associés au type de média. Donc, je pense toujours qu`il devrait y avoir (au moins) la possibilité de spécifier plusieurs modèles pour l`entrée et la sortie en fonction des médias-types. Je vote pour cela aussi. J`ai ouvert un SO post aussi: http://stackoverflow.com/questions/36576447/swagger-specify-two-responses-with-same-code-based-on-optional-parameter il semble que cela a déjà été débattu à mort, mais je voulais peser ici aussi bien: je suis en train de construire rétroactivement une spécification OpenAPI pour notre API (Stripe), et ce problème est le dernier bloqueur à obtenir un qui passe la validation. Je réflexivement écrit des schémas de réponse à l`aide de oneOf pour pointer vers différentes réponses et seulement plus tard découvert que bien qu`ils soient valides schéma JSON, ils ne sont pas valides OpenAPI schéma JSON.

This entry was posted in Uncategorized. Bookmark the permalink.

Comments are closed.