我有一个控制器,它的名称是“ AuthController”,它正在被“ BaseController”继承。 “ AuthController”具有参数构造函数以及用于注册用户的方法“ RegisterFromOutside”。下面的代码对于Non Api Controller可以正常工作。
非Api控制器的代码示例:
现在的问题是如何使用API控制器调用同一方法?然后从我的移动应用程序访问它(使用相同的实现)。请注意,该项目尚未实现API调用的任何实现。
这是何时出现此错误。错误是
“但是,当我尝试使用参数构造函数从另一个Web API应用程序控制器访问相同的UserServices时。它要求我声明无参数的构造函数。当我这样做时,它根本就不运行参数构造函数,并且返回我收到空引用异常。”
public class ValuesController : ApiController
{
UserServices _userServices;
public ValuesController(
UserServices userServices)
{
_userServices = userServices;
}
// POST api/values
public void Post([FromBody]RegisterViewModel model)
{
RegisterFromOutside(model);
}
public void RegisterFromOutside(RegisterViewModel model)
{
User user = _userServices.Register(model.Username, model.Password, model.Email);
}
}