我有一個控制器,它有一個接收兩個變數的方法。一個是文化,另一個是路徑。
public class WebsiteContentController : ApiController
{
[HttpGet] 。
public HttpResponseMessage Test(string culture。string path)?
{
var json = WebsiteContentManager.GetContent()。
var response = Request.CreateResponse(HttpStatusCode.OK)。
response.Content = new StringContent(json, Encoding.UTF8, "application/json"/span>)。
return回應。
}
}
我在這個例子中稱之為:
/Api/WebsiteContent/Test?path=/quem-somos/a-marca/& culture=pt
/Api/WebsiteContent/Test?path=/quem-somos/&culture=pt
/Api/WebsiteContent/Test?path=/quem-somos/something/&culture=pt
我想做的是創建一個與此類似的端點:
我想做的是創建一個與此類似的端點。
/Api/WebsiteContent/Test/pt/quem-somos/a-marca/
是否有辦法用這種格式呼叫一個端點?
uj5u.com熱心網友回復:
只有像這樣的路由可以用于url ".../Api/WebsiteContent/Test/pt/quem-somos/a-marca"
[HttpGet("{culture/path1/path2}")]
public HttpResponseMessage Test(string culture。string path1, string path2)
{
var path="/"/span> path1 "/"/span> path2 "/"/span>。
}
或者像這樣的靈活路徑
[HttpGet("{culture/path1?/path2?/path3?/patch4?}"]。
public HttpResponseMessage Test(string culture。string path1, string path2
string path3, string path4)
uj5u.com熱心網友回復:
你可以使用RouteAttribute模板
。它看起來會是這樣的。
[Route("API/V1/{varible1}/{varible2}")]
public async Task<string> APIAsync(string varible1, string varible2)/span>
{
//do things here。
}
你可以根據你的需要,抓取你需要的變數來制作路由,并添加靜態路由的作業,就像我上面的API/V1一樣。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/321587.html
標籤:
下一篇:次級集合的總和
