Swagger API which is having query string

后端 未结 2 799
感情败类
感情败类 2020-11-29 13:20

I want to deploy an API which is having query string.This is the API

v1/products?q=circuit breaker&locale=en-GB&pageSize=8&pageNo=1&project=G         


        
相关标签:
2条回答
  • 2020-11-29 13:31

    You can't describe query parameters as part of the path in Swagger. You have to declare those explicitly as query parameters.

    "/v1/products":{  
             "get":{  
                "tags":[  
                   "Search Text"
                ],
                "summary":"Get Products by searching text, countrycode, page number, pagesize, project and country(optional)",
                "description":"Get Products by searching text, countrycode, page number, pagesize, project and country(optional)",
                "operationId":"getProductName",
                "produces":[  
                   "application/json",
                   "application/xml"
                ],
                "parameters":[  
                   {  
                      "name":"searchText",
                      "in":"query",
                      "description":"The Product that needs to be fetched",
                      "required":true,
                      "type":"string"
                   },
                   {  
                      "name":"ctrCode",
                      "in":"query",
                      "description":"The Product locale needs to be fetched. Example=en-GB, fr-FR, etc.",
                      "required":true,
                      "type":"string"
                   },
                   {  
                      "name":"pageSize",
                      "in":"query",
                      "description":"The Product PageSize that needs to be fetched. Example=10, 20 etc.",
                      "required":true,
                      "type":"number"
                   },
                   {  
                      "name":"pageNo",
                      "in":"query",
                      "description":"The Product pageNo that needs to be fetched. Example=1,2 etc.",
                      "required":true,
                      "type":"number"
                   },
                   {  
                      "name":"project",
                      "in":"query",
                      "description":"The Project that needs to be fetched. Example=Mypact, DSL etc.",
                      "required":true,
                      "type":"string"
                   },
                   {  
                      "name":"country",
                      "in":"query",
                      "description":"The Country that needs to be fetched. Example=France, India etc.",
                      "required":false,
                      "type":"string"
                   }
                ],
                "responses":{  
                   "200":{  
                      "description":"successful operation",
                      "schema":{  
                         "$ref":"#/definitions/Products"
                      }
                   },
                   "400":{  
                      "description":"Invalid Product_id supplied"
                   },
                   "404":{  
                      "description":"Product not found"
                   }
                }
             }
          }
    
    0 讨论(0)
  • 2020-11-29 13:47

    Your IN parameter needs to be "query" not "path"

    This should work:

    "parameters": [
      {  
        "name":"country",
        "in":"query",
        "description":"The Country that needs to be fetched. Example=France, India etc.",
        "required":false,
        "type":"string"
      }
    ]
    
    0 讨论(0)
提交回复
热议问题