私はベースリクエストタイプを持っています..
クラス RequestBase
{
public string inputId;
public string derivedid;
}
および継承する型..
class RequestA : RequestBase
{
public string name;
}
と
class RequestB : RequestBase
{
public string color;
}
私は webapi サービスを持っています。いくつかのアクションは RequestA の入力パラメーターを受け取り、いくつかは RequestB を受け取ります
[HttpPost]
[MyFilter]
[ActionName("Process1")]
public HttpResponseMessage Process1(RequestA request)
{
//do something with request.derivedId
}
[HttpPost]
[MyFilter]
[ActionName("Process2")]
public HttpResponseMessage Process2(RequestB request)
{
//do something with request.derivedId
}
リクエストからinputIdを取得し、派生IDを生成するactionfilterがあります
public override void OnActionExecuting(HttpActionContext actionContext)
{
RequestBase request = (RequestBase)actionContext.ActionArguments["request"];
string inputId = request.inputId;
string derivedId = inputId + "123";
// ?? somehow inject derivedId back into the actionContext so that my controller methods can access?
}
上記のコメントにあるように、derivedId フィールドにデータを入力し、コントローラー メソッドからアクセスできるようにしたいと考えています。
前もって感謝します