分隔出你的功能,還允許重複使用是一件好事任何設計。
如果您有初始屏幕的模型,您可以包含所有選項卡和計數並將其返回給客戶端。喜歡的東西:
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);
}
的搜索功能很可能被重複使用在未來的業務需求給你。
希望這會有所幫助。