Calling another Web API controller directly from inside another Web API controller

后端 未结 3 1076
死守一世寂寞
死守一世寂寞 2021-02-04 13:38

Given a controller Proxy and an action of GetInformation. I want to be able to call the method GetInformation of the Users c

3条回答
  •  醉酒成梦
    2021-02-04 14:41

    For those wanting to solve this API to API method in different controllers, we have found a solution that works. The initial attempt was close, just missing a few things.

    var controller = new UserAccountController
    {
       Request = new HttpRequestMessage(HttpMethod.Post, Request.RequestUri.AbsoluteUri.Replace("/current/route", "/route/to_call"))
    };
    controller.Request.Properties[HttpPropertyKeys.HttpConfigurationKey] = new HttpConfiguration();
    return controller.GetInformation(request);
    

    In doing this it allows construction of the target controller and direct invocation of the method desired. The biggest complexity here is the Uri adjustment.

提交回复
热议问题