Monday 12 June 2017

node.js swagger dynamic-value

I'm using swagger with node.js. I want to use x-ms-dynamic-values to return values to my parameter dynamically. Basically the first parameter will have a URL then the node.js endpoint will make a get request to that URL and pull back lets say questions, Each URL can have a different amount of questions and the questions can also vary. The get request can get a json response with amount of questions on the page. In my next parameter I want to be able to select a question based on that response. This is where the x-ms-dynamic-values will come in to play, But I'm nearly 100% sure there are no examples of this being used with node.js only thing I could find was c# example which i will link under this. So basically my questions is, can anyone provide my with a little example of the node.js I may be able to work from ?

example of the swagger code :

"paths":{
      "/api/contacts/{name}":{
         "get":{
            "tags":[
               "DynamicSchemas"
            ],
            "summary":"Get Contact Info",
            "description":"Gets contact info of the specified type",
            "operationId":"GetContactInfo",
            "consumes":[

            ],
            "produces":[
               "application/json",
               "text/json",
               "application/xml",
               "text/xml"
            ],
            "parameters":[
               {
                  "name":"name",
                  "in":"path",
                  "required":true,
                  "type":"string",
                  "x-ms-summary":"Contact Name"
               },
               {
                  "name":"contactType",
                  "in":"query",
                  "description":"Try either \"Phone\" or \"Email\"",
                  "required":true,
                  "type":"string",
                  "x-ms-summary":"Contact Type"
               }
            ],
            "responses":{
               "200":{
                  "description":"OK",
                  "schema":{
                     "$ref":"#/definitions/ContactInfo"
                  }
               },
               "400":{
                  "description":"Invalid type specified"
               },
               "default":{
                  "description":"OK",
                  "schema":{
                     "$ref":"#/definitions/ContactInfo"
                  }
               }
            }

Api Example: https://github.com/nihaue/TRex/tree/master/Source



via DanGil

No comments:

Post a Comment