如何在响应中添加分页和额外链接?

时间:2017-05-01 22:52:38

标签: rest asp.net-core asp.net-web-api2

我正在使用ASP.NET核心1.1,我目前正在创建一个Rest API。

为了尊重Rest架构的惯例,我想在发送响应之前添加分页和额外信息。

这是我的控制者:

[HttpGet(Name = "GetUniversities")]
public IEnumerable<University> GetUniversities()
{
      return _univRepository.GetAll();
}

GETALL():

public IEnumerable<University> GetAll()
{
    return _context.Universities.ToList();
}

实际上,我想做的就是渲染这样的东西。

JSON reponse

但我不知道如何动态生成这种数据。

谢谢!

1 个答案:

答案 0 :(得分:2)

我不确定您的额外信息是什么意思。但是,您可以构建一个视图模型以将信息发送回用户。这样,您可以标记您需要在响应中发送的任何其他信息。这是一个简单的例子,让您开始分页。显然,您也可以将其传递到您的存储库。

 [HttpGet()]
 [Route("api/GetUniversities/Page/{page:int}")]
 public IEnumerable<University> GetUniversities(int page)
  {
    return _univRepository.GetAll().Skip(page*10).Take(10);
  }

以上假设您一次发回10个。