我使用Olingo实现了Odata V4服务。我想包括
Aggregation.ApplySupported 注释到我的服务。但是,我的$元数据文档中的注释术语值为空。以下是我的代码段
List<CsdlAnnotation> list = new ArrayList<CsdlAnnotation>();
CsdlAnnotation annotationAttribute = new CsdlAnnotation();
annotationAttribute.setTerm("Aggregation.ApplySupported");
annotationAttribute.setExpression(new CsdlConstantExpression(CsdlConstantExpression.ConstantExpressionType.String, "true"));
list.add(annotationAttribute);
entityContainer.setAnnotations(list);
$元数据
<EntityContainer Name="myContainer">
<!-- .....sets -->
<Annotation> <!-- term is blank -->
<String>true</String>
</Annotation>
</EntityContainer>
无法弄清楚我错过了什么。 提前谢谢。
答案 0 :(得分:1)
您应该在提供商中覆盖 getTerm 方法。
@Override
public CsdlTerm getTerm(final FullQualifiedName termName) throws ODataException {
return new CsdlTerm().setAppliesTo(Arrays.asList("EntityContainer"))
.setName("ApplySupported");
}