2
我想用屬性路由到URL參數綁定到我的Point
對象和屬性[FromUri]
使得下列URL是可能的:傳遞複雜對象的ASP.NET Web API使用FromUri
/富-1 ,2
public IHttpActionResult PostFoo(
[FromBody] string content,
[FromUri] Point point)
{
}
public class Point
{
public int A { get; set; }
public int B { get; set; }
// ...Other properties omitted for simplicity
}
我曾嘗試以下路由屬性但這些工作:
[Route("foo-{a},{b}")]
[Route("foo-{A},{B}")]
[Route("foo-{point.A},{point.B}")]
請注意,我無法使用查詢字符串參數,因爲嚴重構建的第三方服務不會在其URL中接受&符號(是的,那很糟糕)。所以我試圖建立所有的查詢字符串參數到URL本身。
你可能要考慮使用的URL,重寫重寫URL這使它對MVC之前。將使任何網址可笑的容易。 –
@ErikPhilips我正在考慮寫一些過濾器或模型活頁夾來做同樣的事情。我想回到IIS是一個有效的選擇。 –
模型綁定器在選擇路由的過程中很晚。你可能需要寫一個[RouteHandler](http://www.brainthud.com/cards/5218/24821/give-an-example-of-how-you-would-create-a-custom-route-處理器到重新路由,請求上帶有一個-一定的價值,在最接受-HTTP-他)。 –