ApiController.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. using Microsoft.AspNetCore.Mvc;
  2. using System.Threading.Tasks;
  3. using ZhonTai.Common.Domain.Dto;
  4. using ZhonTai.Plate.Admin.Service.Api;
  5. using ZhonTai.Plate.Admin.Service.Api.Dto;
  6. using ZhonTai.Plate.Admin.Domain.Api.Dto;
  7. namespace ZhonTai.Plate.Admin.HttpApi
  8. {
  9. /// <summary>
  10. /// 接口管理
  11. /// </summary>
  12. public class ApiController : AreaController
  13. {
  14. private readonly IApiService _apiService;
  15. public ApiController(IApiService apiService)
  16. {
  17. _apiService = apiService;
  18. }
  19. /// <summary>
  20. /// 查询单条接口
  21. /// </summary>
  22. /// <param name="id"></param>
  23. /// <returns></returns>
  24. [HttpGet]
  25. public async Task<IResultOutput> Get(long id)
  26. {
  27. return await _apiService.GetAsync(id);
  28. }
  29. /// <summary>
  30. /// 查询全部接口
  31. /// </summary>
  32. /// <param name="key"></param>
  33. /// <returns></returns>
  34. [HttpGet]
  35. public async Task<IResultOutput> GetList(string key)
  36. {
  37. return await _apiService.GetListAsync(key);
  38. }
  39. /// <summary>
  40. /// 查询分页接口
  41. /// </summary>
  42. /// <param name="input">分页模型</param>
  43. /// <returns></returns>
  44. [HttpPost]
  45. public async Task<IResultOutput> GetPage(PageInput<ApiGetPageDto> input)
  46. {
  47. return await _apiService.GetPageAsync(input);
  48. }
  49. /// <summary>
  50. /// 新增接口
  51. /// </summary>
  52. /// <param name="input"></param>
  53. /// <returns></returns>
  54. [HttpPost]
  55. public async Task<IResultOutput> Add(ApiAddInput input)
  56. {
  57. return await _apiService.AddAsync(input);
  58. }
  59. /// <summary>
  60. /// 修改接口
  61. /// </summary>
  62. /// <param name="input"></param>
  63. /// <returns></returns>
  64. [HttpPut]
  65. public async Task<IResultOutput> Update(ApiUpdateInput input)
  66. {
  67. return await _apiService.UpdateAsync(input);
  68. }
  69. /// <summary>
  70. /// 删除接口
  71. /// </summary>
  72. /// <param name="id"></param>
  73. /// <returns></returns>
  74. [HttpDelete]
  75. public async Task<IResultOutput> SoftDelete(long id)
  76. {
  77. return await _apiService.SoftDeleteAsync(id);
  78. }
  79. /// <summary>
  80. /// 批量删除接口
  81. /// </summary>
  82. /// <param name="ids"></param>
  83. /// <returns></returns>
  84. [HttpPut]
  85. public async Task<IResultOutput> BatchSoftDelete(long[] ids)
  86. {
  87. return await _apiService.BatchSoftDeleteAsync(ids);
  88. }
  89. /// <summary>
  90. /// 同步接口
  91. /// 支持新增和修改接口
  92. /// 根据接口是否存在自动禁用和启用api
  93. /// </summary>
  94. /// <param name="input"></param>
  95. /// <returns></returns>
  96. [HttpPost]
  97. public async Task<IResultOutput> Sync(ApiSyncInput input)
  98. {
  99. return await _apiService.SyncAsync(input);
  100. }
  101. }
  102. }