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=GLOBAL
Here is how i am implementing
"/v1/products?q={searchText}&locale={ctrCode}&pageSize={pageSize}&pageNo={pageNo}&project={project}&country={country}":{
"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":"path",
"description":"The Product that needs to be fetched",
"required":true,
"type":"string"
},
{
"name":"ctrCode",
"in":"path",
"description":"The Product locale needs to be fetched. Example=en-GB, fr-FR, etc.",
"required":true,
"type":"string"
},
{
"name":"pageSize",
"in":"path",
"description":"The Product PageSize that needs to be fetched. Example=10, 20 etc.",
"required":true,
"type":"number"
},
{
"name":"pageNo",
"in":"path",
"description":"The Product pageNo that needs to be fetched. Example=1,2 etc.",
"required":true,
"type":"number"
},
{
"name":"project",
"in":"path",
"description":"The Project that needs to be fetched. Example=Mypact, DSL etc.",
"required":true,
"type":"string"
},
{
"name":"country",
"in":"header",
"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"
}
}
}
}
The country is optional parameter in this. I want the URL should display country only when if user enter some value, else it should not be displayed in the URL.
See Question&Answers more detail:
os