2017-08-03 62 views
0

我有查询参数有点复杂,我有我自己的语法来使这个值。它有更多的一个变量来创建一个完整的字符串值。 我们假设名字的参数是具有行和列的喜欢,使这个价值20:30Swagger查询参数模板

index = { row: 20, col:30 } 
index2 = { row: 20, col:30, chr: 15 } 

现在我想让它作为指数

example.com?index=20:30 
example.com?index2=20:30:15 

谁能告诉我怎样才能在定义这个大摇大摆? 谢谢。

+0

扬鞭是“只在您的API之上的代表性层。它不应该被滥用来转换URI中的模板。 – MrMister

+0

我可以理解,它是我的api上的“表现层”。我的观点是,可以用大招从对象构建任何领域。所以根据你的评论swagger不支持它。谢谢 – 9me

+0

':'不是一个常用的分隔符。你可以使用''''''''或'%20'吗?后者是OpenAPI/Swagger中的标准数组分隔符。 – Helen

回答

0

让你招摇参数字符串,并以后面的代码处理分成多个变量...

我做的正是在这里: http://turoapi.azurewebsites.net/swagger/ui/index#/Echo/Echo_Get

"parameters": [ 
{ 
    "name": "location", 
    "in": "query", 
    "description": "SoFL= 26.16,-80.20", 
    "required": true, 
    "type": "string" 
}, 

这个位置是(纬度,经度),我用C#类型转换器
拆呢......和要求的样子:
http://turoapi.azurewebsites.net/api/Echo?location=26.16,-80.20



为的WebAPI的代码是在这里: https://github.com/heldersepu/TuroApi

+0

我看到你的例子。它发送三个参数,我只想要一个参数。这是我要求的自定义模板,我会给对象,它会根据我定义的模板在一个字段中解析它。 – 9me

+0

是我的例子它发送三个参数,但专注于***位置***参数,完全符合您的需求 – HelderSepu

+0

我将示例更改为仅具有***位置的简单控制器***参数 – HelderSepu