如何使用odata和javascript获取sitefinity 12 Web服务中分 类的团队成员字段的值

问题描述 投票:0回答:2

我正在使用ajax在站点无限中查询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."}}

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

javascript ajax web-services odata sitefinity
2个回答
1
投票
  • 转到高级设置=> Web服务=> [您的服务] =>类型=>[您的类型] =>属性映射
  • 添加新的导航属性映射。
  • 输入新属性的名称。它应该是唯一的。
  • 对于解析器类型,输入“ Telerik.Sitefinity.Web.Services.Contracts.TaxonomyRelationResolver”
  • [使用键“ propName”添加参数并为分类法的值赋值字段(例如“类别”)
  • 保存更改

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


1
投票

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

可以在]中找到说明>

管理>设置>高级> web服务>路由>前端>服务> yourservice>类型> yourtype>属性映射> PositionTypes

[您将在默认情况下找到一个未选中的复选框。

描述是:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.