分隔出你的功能,还允许重复使用是一件好事任何设计。
如果您有初始屏幕的模型,您可以包含所有选项卡和计数并将其返回给客户端。喜欢的东西:
public class TicketTabList
{
public IEnumerable<TicketTab> TicketTabs {get;set;}
}
public class TicketTab
{
public string Name {get;set;}
public int Id {get;set;}
public int Count {get;set;}
}
你的控制器则可以从一个端点返回这个(这是在使用的WebAPI的例子):
[HttpGet]
[ResponseType(typeof (TicketTabList))]
[Route("api/tickets/getTicketTabList")]
public IHttpActionResult GetTicketTabList()
{
var ticketTabList = ...
return new OkNegotiatedContentResult<TicketTabList>(ticketTabList, this);
}
然后,您可以有通过ID或名称使用检索门票一个单独的终结点像{跳跃}和{}取变量,使您能够分页门票:
public class SearchFilter
{
public int Skip {get;set;}
public int Take {get;set;}
... other variables you may wish to search with
}
[HttpPost]
[ResponseType(typeof (IEnumerable<Ticket>))]
[Route("api/tickets/search")]
public IHttpActionResult GetTickets(SearchFilter searchFilter)
{
var tickets = ...
return new OkNegotiatedContentResult<IEnumerable<Ticket>>(tickets, this);
}
的搜索功能很可能被重复使用在未来的业务需求给你。
希望这会有所帮助。