2017-08-03 66 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