指定从客户端API返回的属性

时间:2017-05-09 13:56:32

标签: asp.net-core

我想限制从我在dotnet核心中构建的REST api返回的属性数量。访问资源时,客户端只需要从api返回的数据的特定子集。告诉api客户想要返回哪些属性的好方法是什么?

我最初的想法是将查询参数添加到端点,如下所示:

http://www.restapi.com/v1/resource?fields=id,name,type

但我不确定在api中实现此功能的最佳方法,以便它可重用且干净。

1 个答案:

答案 0 :(得分:0)

您是对的,您通常不希望通过您的网络API返回完整的域模型或数据模型。通常,您可以为此目的定义自定义模型类型,如果需要,还可以使用模型绑定和模型验证的属性进行装饰。

如果您希望客户端能够确定它获得的属性,您可以返回为此目的构建的匿名类型,或者可能预定义客户端参数导致的几种DTO类型。