2017-05-16 3 views
0

Je dois prendre en charge deux types de corps de requête pour le même noeud final et la même méthode (POST). Est-ce possible dans Swagger?Prise en charge de deux corps de requête différents sur le même noeud final

Ceci est important car les deux corps de requête sont valides et un utilisateur peut envoyer l'un d'entre eux. Plus précisément,

RequestBody 1:

{ 
    param1: value1 
    param2: value2 
    param3: { 
     param3Key1: x1 
     param3Key2: x2 
     ... 
    } 
} 

RequestBody 2:

{ 
    param1: value1 
    param2: value2 
    param4: { 
     differentKey1: y1 
     differentKey2: y2 
     ... 
    } 
} 

est-il un moyen de documenter cette situation Swagger? Une façon de faire cela serait de garder param3 et param4 dans les docs. Mais, je veux que les utilisateurs sachent spécifiquement qu'un seul d'entre eux doit être passé. Je veux avoir un corps de requête tout à fait différent pour les deux situations.

Répondre

0

Impossible de trouver un chemin rectiligne. Voici une solution de contournement que je suis maintenant:

Supposons que le point de terminaison est /endpoint. Je peux créer 2 points de terminaison dans le fanfaronnades-ui en annexant # suivi d'une chaîne:

/endpoint#1

/endpoint#2

je peux alors définir mes deux demande-corps séparément dans chacun de ces points d'extrémité. La commande curl dans swagger cachera le hachage - donc, les deux extrémités sont fondamentalement les mêmes.