如何使用 odata 和 javascript 获取团队成员字段的值,该字段是 sitefinity 12 Web 服务



我正在使用ajax在sitefinity中查询Web服务,我可以使用此apiURL成功提取团队成员数据:

localhost/api/lawyerswebservice/teammembers?$expand=RelatedTeam,PrimaryImage;

但是,我无法访问任何分类字段。 例如,如果我执行以下查询:

localhost/api/lawyerswebservice/teammembers?$expand=PositionTypes;

我收到控制台错误:

{"error":{"code":"Unknown","message":"Property 'PositionTypes' on type 'Telerik.Sitefinity.DynamicTypes.Model.Team.TeamMember' is not a navigation property or complex property. Only navigation properties can be expanded."}}

任何关于如何获取他的数据的建议将不胜感激 谢谢

转到高级设置 => Web 服务 => [您的服务] => 类型 =>
  • [您的类型] => 属性映射
  • 添加新的导航属性映射。
  • 输入新属性的名称。它应该是独一无二的。
  • 对于旋转变压器类型,请输入 "Telerik.Sitefinity.Web.Services.Contracts.TaxonomyRelationResolver">
  • 添加带有键"propName"的参数并值分类名称 字段(例如"类别"(
  • 保存更改

参考: https://www.eveliko.com/blogs/blog-details/public/2017/06/06/exposing-taxonomy-field-in-sitefinity-odata-service

默认情况下,结果中不返回分类字段。

解释可以在

>高级> Web 服务>>高级 Web 服务路由>前端>服务>>您的类型>您的类型>属性映射> 职位类型

在那里,您会找到一个复选框 默认选中 未选中。

描述是:

"这是一个设置,用于确定在查询服务类型时将隐式返回哪些属性。例如,标签和类别不是 SelectedByDefault,因为它们是导致数据库查询的属性,如果默认情况下为大量项目选择它们,则会产生开销。

如果选中它,则服务将开始返回所选分类单元的 Id,然后您应该能够获得其标题。

最新更新