在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
网友评论