开发服务接口

按照分层开发原则,一个服务接口的开发过程有2块:

  • 开发一个 HttpAction 接口方法
  • 开发对应的 BLL 实现方法

Controller/BLL 的职责可参考:分层开发职责



HttpAction 接口方法

示例代码:

[Route("/v20/api/WebSiteApp/Customer/")]
public class CustomerController : BaseController
{
    private CustomerBLL customerBLL { get; set; }
            
    
    [HttpGet]
    [Route("findByTel.aspx")]
    public async Task<List<Customer>> FindByTel(string tel)
    {
        using( DbContext dbContext = CreateTenantConnection() ) {
            return await customerBLL.FindByTel(tel);
        }
    }

说明:

  • Controller继承于BaseController
  • Controller/Action 都必须标记[Route(xxxx)]
  • 每个Action方法必须显式标记[HttpGet] or [HttpPost]这类限定调用标记



BLL 实现方法

示例代码:

public class CustomerBLL : BaseBLL
{
    public async Task<List<Customer>> FindByTel(string tel)
    {
        var query = from x in dbContext.Entity.Query<Customer>()
                    where x.Tel.Contains(tel)
                    select x;

        return await query.ToListAsync();
    }

说明:

  • BLL类继承于BaseBLL
  • BLL方法不要打开数据库连接