我看到有描述使用 Olingo for Odata v2 注释的文档: https ://olingo.apache.org/doc/odata2/tutorials/AnnotationProcessorExtension.html
因此,例如,我不想手动创建详细说明所有 EDM 元数据的提供程序,而是想向我的模型添加注释并使用通用 EDM 提供程序来生成所有元数据。对于数据提供者也是如此。它想要这样的东西:
@EdmEntityType
@EdmEntitySet
public class Car {
@EdmKey
@EdmProperty
private String id;
@EdmProperty
private String model;
@EdmNavigationProperty
private Manufacturer manufacturer;
}
Olingo Odata4 有类似的功能吗?我找不到任何示例,搜索也没有看到其源代码中定义的注释。我记得这种方法适用于其他框架,.Nets Web API、SDL Odata、Olingo Odata2 等。
更新:我最终改用 SDL Odata,它也支持 Odata v4 并且有符号。看这里的例子:https ://github.com/sdl/odata-example
Scala 中的模型如下所示:
@EdmEntity(namespace = "SDL.OData.Example", key = Array("id"), containerName = "SDLExample")
@EdmEntitySet
case class Person (
@(EdmProperty @field)(name="id", nullable = false) var personId: String,
@(EdmProperty @field)(name="firstName",nullable = false) var firstName: String,
@(EdmProperty @field)(name="lastName", nullable = false) var lastName: String,
@(EdmProperty @field)(name="age", nullable = false) var age: Int
)