배경 :는MVC4 Web API에서 [Bind (Prefix = "principalId")]와 동일합니까?
는 MVC3, 나는 정의 Action
매개 변수 이름을 지정하려면 다음 구문을 사용했습니다 :
public ActionResult ActionName([Bind(Prefix = "principalID")] int userID,
[Bind(Prefix = "dependentID")] long applicationID)
(ActionNameConstraint
사용자 정의 IRouteConstraint
입니다) :
routes.MapHttpRoute(
"DependantAction",
"{controller}/{principalID}/{action}/{dependentID}",
new {controller = @"[^0-9]+", action = ActionNameConstraint.Instance, dependentID = RouteParameter.Optional}
);
질문 :
BindAttribute
은 System.Web.Mvc
클래스입니다. Web Api에 이와 동일한 (매개 변수 바인딩)이 있습니까?
물론 같은 결과를 얻기위한 다른 해결책이 있다면, 나는 그것들을 듣고 싶습니다!
필자는이 기사를 실제로 검토했지만 실제로는 동일한 의도에 맞지 않습니다.이 기사는 주로 모델 바인딩을 다루고 있습니다. 대부분의 검색 결과 실제로 모델 바인딩에 대한 결과가 나타났습니다. – diaho
ASP.NET 웹 API는 그렇지 않습니다. 'BindAttribute' 기능이 내장되어 있습니다. 액션 매개 변수 바인딩은 웹 API의 모델 바인딩 및 포맷 기능을 수행합니다. 그래서, 그것은 단지 모델 바인더가 아닙니다. 또 다른 팁은 ASP.NET Web API와 함께 System.Web.Mvc 네임 스페이스에서 아무 것도 사용하지 않는 것입니다.99 %의 시간이 걸리면 문제가 생길 것입니다. – tugberk
업데이트 된 답변을 확인하십시오. – Meligy