2017-10-28 29 views
0

我不知道它是否与abp有关,但我需要一个建议。比方说,我有“GetMyCustomEntityInput”,它有很多参数。由于nswag/refresh.bat在service-proxies.ts文件中没有为我提供输入类,我应该在service-proxies.ts文件中实现自己的GetMyCustomEntityInput,如果是这样,它会如何工作,并且它会是一个好方法吗?我想知道abp社区如何处理这个案例,所以我想问。Aspnetboilerplate如何处理角度多个参数的输入

在此先感谢。

+0

我们做类似'abp.services.project.customentity.get({param1:23,orderby:“desc”})' – Worthy7

+0

我想你在问什么,如果你应该自己写DTO打字稿。答案是**是**,这是一种痛苦,但是是的。我使用t4模板自动在TS中创建DTO类。 – Worthy7

+0

如果您更改了像AppService,API等影响客户端应用程序(angularjs)的内容,您可以再次运行nswag以生成service-proxies.ts ...查看此工具https://github.com/RSuter/NSwag /维基/ NSwagStudio – tiennguyen

回答

0

请看看这个页面,如何自动动态服务的WebAPI层角度服务集成:

https://aspnetboilerplate.com/Pages/Documents/Dynamic-Web-API#DocAngularSupport

例子:

(function() { 
    angular.module('app').controller('TaskListController', [ 
     '$scope', 'abp.services.tasksystem.task', 
     function($scope, taskService) { 
      var vm = this; 
      vm.tasks = []; 
      taskService.getTasks({ 
       state: 0 
      }).success(function(result) { 
       vm.tasks = result.tasks; 
      }); 
     } 
    ]); 
})(); 

的参数为您DTO输入不会自动转换为打字稿,您必须创建一个动态的输入对象,所以请确保您的属性名称正确或不起作用。 您可以使用Typelite/t4模板自动创建您的Dto。