ABP项目中创建一般的Web Api

2020-11-21  本文已影响0人  寻找无名的特质

在ABP项目中可以创建一般的Web Api,与Asp.Net Core项目没有什么不同,比如:

[Route("api/[controller]")]
    [ApiController]
    public class FlowDesignController : ControllerBase
    {
        [HttpGet("Hello")]
        public string GetHello()
        {
            return "Hello";
        }
    }

运行项目,进入swagger页面,可以看到这个新增加的Web Api:

图片.png

如果希望获取当前用户的信息和当前租户的信息也很方便,可以使用ABP的CurrentUser和CurrentTenant服务。使用依赖注入可以很方便地将这两个服务注入到我们的控制器中。示例代码如下:

using Microsoft.AspNetCore.Mvc;
using Volo.Abp.MultiTenancy;
using Volo.Abp.Users;

namespace Plat.WebFlowDesigner.Web.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class FlowDesignController : ControllerBase
    {
        ICurrentTenant currentTenant;
        ICurrentUser currentUser;

        public FlowDesignController(ICurrentUser _currentUser,ICurrentTenant _currentTenant)
        {
            currentTenant = _currentTenant;
            currentUser = _currentUser;
        }

        [HttpGet("Hello")]


        public string GetHello()
        {
            return "当前用户:" + currentUser.Name+",当前租户:" + currentTenant.Name;
        }
    }
}

再次运行项目,使用admin用户登录,进入swagger页面,测试这个Web Api,可以看到如下结果:


图片.png
上一篇 下一篇

猜你喜欢

热点阅读