using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Util.Applications.Controllers; using Util.Tests.Dtos; using Util.Tests.Queries; using Util.Tests.Services; namespace Util.Tests.Controllers; /// /// 产品控制器 /// public class ProductController : CrudControllerBase { /// /// 初始化产品控制器 /// /// 产品服务 public ProductController( IProductService service ) : base( service ) { ProductService = service; } /// /// 产品服务 /// public IProductService ProductService { get; } /// /// 获取单个实体 /// /// 标识 [HttpGet( "{id}" )] public new async Task GetAsync( string id ) { return await base.GetAsync( id ); } /// /// 查询 /// /// 查询参数 [HttpGet( "Query" )] public new async Task QueryAsync( [FromQuery] ProductQuery query ) { return await base.QueryAsync( query ); } /// /// 分页查询 /// /// 查询参数 [HttpGet] public new async Task PageQueryAsync( [FromQuery] ProductQuery query ) { return await base.PageQueryAsync( query ); } /// /// 创建 /// /// 创建参数 [HttpPost] public new async Task CreateAsync( ProductDto request ) { return await base.CreateAsync( request ); } /// /// 修改 /// /// 标识 /// 修改参数 [HttpPut( "{id?}" )] public new async Task UpdateAsync( string id, ProductDto request ) { return await base.UpdateAsync( id, request ); } /// /// 删除,注意:该方法用于删除单个实体,批量删除请使用POST提交,否则可能失败 /// /// 标识 [HttpDelete( "{id}" )] public new async Task DeleteAsync( string id ) { return await base.DeleteAsync( id ); } /// /// 批量删除 /// /// 标识列表,多个Id用逗号分隔,范例:1,2,3 [HttpPost( "delete" )] public async Task BatchDeleteAsync( [FromBody] string ids ) { return await base.DeleteAsync( ids ); } }