From 96ee0b04368bc21fc595554758d1e9a4ca428249 Mon Sep 17 00:00:00 2001 From: Halil ibrahim Kalkan Date: Tue, 30 Oct 2018 17:47:44 +0300 Subject: [PATCH] #377 Create a sample API. --- .gitignore | 3 +- .../MyProjectName/Todos/ITodoAppService.cs | 10 +++++++ .../MyProjectName/Todos/TodoDto.cs | 10 +++++++ .../MyProjectName/Todos/TodoAppService.cs | 21 ++++++++++++++ .../MyProjectName/Todos/TodosController.cs | 28 +++++++++++++++++++ 5 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 templates/service/src/MyCompanyName.MyProjectName.Application.Contracts/MyCompanyName/MyProjectName/Todos/ITodoAppService.cs create mode 100644 templates/service/src/MyCompanyName.MyProjectName.Application.Contracts/MyCompanyName/MyProjectName/Todos/TodoDto.cs create mode 100644 templates/service/src/MyCompanyName.MyProjectName.Application/MyCompanyName/MyProjectName/Todos/TodoAppService.cs create mode 100644 templates/service/src/MyCompanyName.MyProjectName.HttpApi/MyCompanyName/MyProjectName/Todos/TodosController.cs diff --git a/.gitignore b/.gitignore index 10cfbfd806..338d1fdb19 100644 --- a/.gitignore +++ b/.gitignore @@ -276,4 +276,5 @@ templates/mvc/src/MyCompanyName.MyProjectName.Web/Logs/*.* # macOS .DS_Store abp_io/src/Volo.AbpWebSite.Web/Logs/* -abp_io/src/Volo.AbpWebSite.Web/wwwroot/files/* \ No newline at end of file +abp_io/src/Volo.AbpWebSite.Web/wwwroot/files/* +templates/service/host/MyCompanyName.MyProjectName.Host/Logs/logs.txt diff --git a/templates/service/src/MyCompanyName.MyProjectName.Application.Contracts/MyCompanyName/MyProjectName/Todos/ITodoAppService.cs b/templates/service/src/MyCompanyName.MyProjectName.Application.Contracts/MyCompanyName/MyProjectName/Todos/ITodoAppService.cs new file mode 100644 index 0000000000..2cbf8c59de --- /dev/null +++ b/templates/service/src/MyCompanyName.MyProjectName.Application.Contracts/MyCompanyName/MyProjectName/Todos/ITodoAppService.cs @@ -0,0 +1,10 @@ +using System.Threading.Tasks; +using Volo.Abp.Application.Dtos; + +namespace MyCompanyName.MyProjectName.Todos +{ + public interface ITodoAppService + { + Task> GetListAsync(); + } +} \ No newline at end of file diff --git a/templates/service/src/MyCompanyName.MyProjectName.Application.Contracts/MyCompanyName/MyProjectName/Todos/TodoDto.cs b/templates/service/src/MyCompanyName.MyProjectName.Application.Contracts/MyCompanyName/MyProjectName/Todos/TodoDto.cs new file mode 100644 index 0000000000..695de83e12 --- /dev/null +++ b/templates/service/src/MyCompanyName.MyProjectName.Application.Contracts/MyCompanyName/MyProjectName/Todos/TodoDto.cs @@ -0,0 +1,10 @@ +using System; +using Volo.Abp.Application.Dtos; + +namespace MyCompanyName.MyProjectName.Todos +{ + public class TodoDto : EntityDto + { + public string Text { get; set; } + } +} \ No newline at end of file diff --git a/templates/service/src/MyCompanyName.MyProjectName.Application/MyCompanyName/MyProjectName/Todos/TodoAppService.cs b/templates/service/src/MyCompanyName.MyProjectName.Application/MyCompanyName/MyProjectName/Todos/TodoAppService.cs new file mode 100644 index 0000000000..74bcdf4c24 --- /dev/null +++ b/templates/service/src/MyCompanyName.MyProjectName.Application/MyCompanyName/MyProjectName/Todos/TodoAppService.cs @@ -0,0 +1,21 @@ +using System.Collections.Generic; +using System.Threading.Tasks; +using Volo.Abp.Application.Dtos; +using Volo.Abp.Application.Services; + +namespace MyCompanyName.MyProjectName.Todos +{ + public class TodoAppService : ApplicationService, ITodoAppService + { + public Task> GetListAsync() + { + return Task.FromResult( + new PagedResultDto(2, new List + { + new TodoDto {Id = GuidGenerator.Create(), Text = "Todo item one"}, + new TodoDto {Id = GuidGenerator.Create(), Text = "Todo item two"} + } + )); + } + } +} diff --git a/templates/service/src/MyCompanyName.MyProjectName.HttpApi/MyCompanyName/MyProjectName/Todos/TodosController.cs b/templates/service/src/MyCompanyName.MyProjectName.HttpApi/MyCompanyName/MyProjectName/Todos/TodosController.cs new file mode 100644 index 0000000000..e2a231cb3f --- /dev/null +++ b/templates/service/src/MyCompanyName.MyProjectName.HttpApi/MyCompanyName/MyProjectName/Todos/TodosController.cs @@ -0,0 +1,28 @@ +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Volo.Abp; +using Volo.Abp.Application.Dtos; +using Volo.Abp.AspNetCore.Mvc; + +namespace MyCompanyName.MyProjectName.Todos +{ + [RemoteService] + [Area("MyProjectName")] + [Route("api/MyProjectName/todos")] + public class TodosController : AbpController + { + private readonly ITodoAppService _todoAppService; + + public TodosController(ITodoAppService todoAppService) + { + _todoAppService = todoAppService; + } + + [HttpGet] + [Route("")] + public Task> GetListAsync() + { + return _todoAppService.GetListAsync(); + } + } +}