自动"代理"为AngularJs服务创建ASP.NET MVC控制器

时间:2015-04-28 20:37:19

标签: javascript asp.net asp.net-mvc angularjs

当我使用带有AngularJS的ASP.NET MVC控制器时,我的控制器主要包含JSON结果函数。然后,当我创建我的AngularJs服务时,它始终使用相同的代码来编写对我的ASP.NET控制器函数的Get或POST调用的服务。

MVC家庭控制器功能:

[AngularCreateProxy]
public JsonResult InitUnitTestPersonEntry()
{
    return Json(new PersonEntry(), JsonRequestBehavior.AllowGet);
}

[AngularCreateProxy]
public JsonResult InitUnitTestSearchModel()
{
    PersonSearchModel searchModel = new PersonSearchModel() {Name = String.Empty};
    return Json(searchModel, JsonRequestBehavior.AllowGet);
}

[AngularCreateProxy]
public JsonResult AddUnitTestPerson(PersonEntry entry)
{
    PersonEntries.Add(entry);
    return Json(entry, JsonRequestBehavior.AllowGet);
}

我自动创建的AngularJS家庭服务:

function homePSrv($http, $log) { 
    this.log = $log, this.http = $http; 
}

homePSrv.prototype.InitUnitTestPersonEntry = function () {
   return this.http.get('/Home/InitUnitTestPersonEntry').then(function (result) {
      return result.data;
   });
}

homePSrv.prototype.InitUnitTestSearchModel = function () {
    return this.http.get('/Home/InitUnitTestSearchModel').then(function (result) {
        return result.data;
    });
}

homePSrv.prototype.AddUnitTestPerson = function (entry) {
    return this.http.post('/Home/AddUnitTestPerson',entry).then(function (result) {
      return result.data;
    });
}

angular.module("app.homePSrv", [])
   .service("homePSrv", ['$http', '$log', homePSrv]);

我已经写了我自己的小代理" (不知道这是否是正确的命名),它自动为我的控制器JSON结果函数创建一个angularJS服务作为新的javaScript文件 - 到目前为止工作正常。

我的问题是:

处理这项任务的正确方法是,有一些GitHub Projekt支持这一点,或者你是如何解决这个"问题"?

什么是正确的命名,因为我无法找到有关此解决方案的任何信息,而且我不知道是否代理"是对吗?

1 个答案:

答案 0 :(得分:0)

我创建了自己的GitHub Repo使用T4模板创建代理功能

https://github.com/squadwuschel/MvcControllerToProxyGenerator