【问题标题】:What is the best practice to route related entities in ASP.NET WebApi在 ASP.NET WebApi 中路由相关实体的最佳实践是什么
【发布时间】:2015-11-21 13:43:13
【问题描述】:

我正在使用具有链接实体的 WebApi 应用程序中的实体。
例如:

  • Entity Street 有以下相关资源:City
  • 实体City 具有:RegionCityType
  • 实体Person:Address,Nationality,Position,Catalog,Documents...

如何正确路由相关实体?

在我使用 OData 请求之前,例如:http://localhost:3761/api/City?$expand=CityType,Region 用于 Cityhttp://localhost:3761/api/Person?$expand=Address,Nationality,Documents,Catalog 用于 Person
但是大多数客户不知道哪些存在相关对象。他们想添加一些参数来请求将获得所有链接数据的实体。
http://localhost:3761/api/Person/fullhttp://localhost:3761/api/Person/2/full 的示例为具有 ID = 2 的人。

我试图实现它但是I have problem with routing。 因此,由于我有一个基本 api 控制器,因此属性不会继承到我的子控制器,因此它不起作用。

您能否建议我路由相关实体的最佳做法是什么?

P.S: 对不起我的英语,如果有什么不清楚的地方请告诉我。
谢谢

【问题讨论】:

  • 谁能帮助我?请至少写评论
  • 我需要你的帮助。请

标签: c# asp.net-mvc asp.net-web-api routing related-content


【解决方案1】:

看看 Trello 如何组织他们的 API Trello API

它们允许一个级别的透视和声明您感兴趣的数据类型的可能性。除非您从有效列表中指定字段列表,否则您会返回默认字段。

示例: GET: api/1/cards/card id/members (Options)

在你的情况下,这会变成这样:

http://localhost:3761/api/people/2?&fields=address,nationality,position,catalog

【讨论】:

  • 谢谢,但我知道返回字段很热门。我询问相关实体(对象中的对象)。我发现了类似的问题stackoverflow.com/questions/32620089/…。但是没有答案可以帮助我
  • 在我的情况下 api/Person?$expand=Address,Nationality,Documents,Catalog 不是字段,这是相关实体(使用导航属性作为外键)
猜你喜欢
  • 2017-11-04
  • 1970-01-01
  • 2014-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-09
  • 2021-09-24
  • 1970-01-01
相关资源
最近更新 更多