开源软件名称:JESAI.DynamicWebApi
开源软件地址:https://gitee.com/Jesai/JESAI.DynamicWebApi
开源软件介绍:
JESAI.DynamicWebApi
介绍此类库是基于netcore 3.1.主要是把一些服务动态创建WebApi。当前的想法是打算后续做一个数据库配置相关的。类库是从ABP分离出来。ABP的代码太重,俨然一个全家桶,想单独拿轮子出来装到自己的车上,还是比较麻烦。特此把他单独分离出来,不受ABP依赖。 安装教程NugetInstall-Package JESAI.DynamicWebApi 或者在nuget管理器中搜索安装 使用说明startup配置 services.AddDynamicWebApi(this.GetType().Assembly);
代码实现 实现接口IDynamicWebAPiService 标注特性DynamicWebAPi using JESAI.DynamicWebApi.Attributes;using JESAI.DynamicWebApi.Demo.Dtos;using Microsoft.AspNetCore.Mvc;using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;namespace JESAI.DynamicWebApi.Demo.Dynamic{ [DynamicWebApi] public class TestAppService: IDynamicWebApiService { private static readonly Dictionary<int, string> Apples = new Dictionary<int, string>() { [1] = "Big Apple", [2] = "Small Apple" }; /// <summary> /// Get An Apple. /// </summary> /// <param name="id"></param> /// <returns></returns> [HttpGet("{id:int}")] public string Get(int id) { if (Apples.ContainsKey(id)) { return Apples[id]; } else { return "No Apple!"; } } /// <summary> /// Get All Apple Async. /// </summary> /// <returns></returns> public IEnumerable<string> GetAllAsync() { return Apples.Values; } /// <summary> /// Get All Apple. /// </summary> /// <returns></returns> public IEnumerable<string> Get() { return Apples.Values; } /// <summary> /// Get All Apple. /// </summary> /// <returns></returns> public IEnumerable<string> GetBigApple() { return Apples.Values; } public void Update(UpdateAppleDto dto) { if (Apples.ContainsKey(dto.Id)) { Apples[dto.Id] = dto.Name; } } /// <summary> /// Delete Apple /// </summary> /// <param name="id">Apple Id</param> [HttpDelete("{id:int}")] public void Delete(int id) { if (Apples.ContainsKey(id)) { Apples.Remove(id); } } }} 参与贡献####效果展示 |
请发表评论