Я использовал Asp.net Boilerplate (ABP) в недавнем проекте, и был впечатлен тем, как они превращают сервисы в javascript совершенно прозрачным, почти волшебным образом.
Я копаю их код впопытаться воспроизвести только эту часть в новом проекте, а не использовать все.Хотя это выглядит довольно сложно, поэтому мне было интересно, знает ли кто-нибудь о том, как это сделать (не обязательно по способу ABP).
Проще говоря, когда у вас есть такой класс (на вашем MVC /Проект WebApi asp.net):
public interface ITaskAppService : IApplicationService
{
GetTasksOutput GetTasks(GetTasksInput input);
void UpdateTask(UpdateTaskInput input);
void CreateTask(CreateTaskInput input);
}
И сделайте этот звонок:
Configuration.Modules.AbpWebApi().DynamicApiControllerBuilder.For<ITaskAppService>("tasksystem/task").Build();
Вы можете сделать это в своем JS:
abp.services.tasksystem.task.getTasks({
state: 1
}).done(function (result) {
//use result.tasks here...
});
Есть ещеинформация об использовании на их веб-странице: https://aspnetboilerplate.com/Pages/Documents/v1.5.2/Dynamic-Web-API