我想限制从我在dotnet核心中构建的REST api返回的属性数量。访问资源时,客户端只需要从api返回的数据的特定子集。告诉api客户想要返回哪些属性的好方法是什么?
我最初的想法是将查询参数添加到端点,如下所示:
http://www.restapi.com/v1/resource?fields=id,name,type
但我不确定在api中实现此功能的最佳方法,以便它可重用且干净。
答案 0 :(得分:0)
您是对的,您通常不希望通过您的网络API返回完整的域模型或数据模型。通常,您可以为此目的定义自定义模型类型,如果需要,还可以使用模型绑定和模型验证的属性进行装饰。
如果您希望客户端能够确定它获得的属性,您可以返回为此目的构建的匿名类型,或者可能预定义客户端参数导致的几种DTO类型。