Odata v2 の Olingo での注釈の使用について説明しているドキュメントがあるようです: 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 などの他のフレームワークでも機能することを思い出してください。
更新: 代わりに、Odata v4 もサポートし、表記法を持つ SDL Odata を使用することになりました。例については、 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
)