开发服务接口
按照分层开发原则,一个服务接口的开发过程有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方法不要打开数据库连接