簡體   English   中英

Web API路由兩個控制器類似的操作,並且參數未在一個操作中填充參數值

[英]Web api routing two controller similar action and parameter not populating parameter value in one action

我有兩個webapi控制器ControllerA和ControllerB。 每個人都有一個POST操作,即

控制器A

[HttpPost]
public HttpResponseMessage Action1(CustomObjectA req, string pan="")

控制器B

 [HttpPost]
 public HttpResponseMessage Action2(CustomObjectB req, string mpxn="")

我的Web API路由如下所示

  config.Routes.MapHttpRoute(
      name: "Purchase",
       routeTemplate: "{controller}/{pan}",
       defaults: new
           {
               controller  = "ControllerA"
               pan = RouteParameter.Optional
            });

  config.Routes.MapHttpRoute(
      name: "Vend",
      routeTemplate: "{controller}/{mpxn}",
      defaults: new
      {
           controller = "ControllerB",
           mpxn = RouteParameter.Optional
      });

當我從提琴手向/ ControllerA / 1調用POST請求時,它可以正常工作,即Action1中pan參數的值設置為1,但是當我從提琴手向/ ControllerB / 2調用POST請求時,它進入Action2但mpxn的值為未設置,它是“”。 誰能糾正我在路由中犯的錯誤?

謝謝

希望這些鏈接對您有所幫助: 屬性路由1 屬性路由2

通過屬性路由,您可以更好地控制Web API中的URI。 例如,您可以輕松創建描述資源層次結構的URI。

仍完全支持早期的路由樣式,即基於約定的路由。 實際上,您可以將兩種技術結合在同一個項目中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM