Erweiterungssyntax für Mapper
Eine Mapper-Erweiterung entspricht den folgenden syntaktischen Konventionen:
- Die Erweiterung wird durch ein JSON-Objekt definiert, das im Feld
mappersder Erweiterungsdatei für Mapper enthalten ist - Der Name der Mapper-Erweiterung entspricht dem der Schemadefinitionserweiterung für die zu erweiternde Ressource
- Die Erweiterung muss über ein
schemaDefinition-Attribut verfügen, das die Mapper-Erweiterung mit der Schemadefinitionserweiterung verknüpft - Die Erweiterung muss über ein
root-Attribut verfügen, das die Schemadefinitionserweiterung mit einer ClaimCenter-Entität verknüpft - Die Erweiterung muss über ein
properties-Attribut verfügen, in dem die erweiterten Eigenschaften gespeichert werden - Der Name jeder erweiterten Eigenschaft muss mit dem in der zugehörigen Schemadefinitionserweiterung gefundenen Namen übereinstimmen
- Jede erweiterte Eigenschaft muss über ein
path-Attribut verfügen, das auf ein ClaimCenter-Entitätsfeld verweist - Wenn der Wertetyp der erweiterten Eigenschaft ein Objekt ist, muss er auch über ein
mapper-Attribut verfügen, das einen relevanten URI-Verweis enthält
Die folgende Liste gibt eine Mapper-Erweiterung für das Activity-Schema in der Common API wieder. Die Erweiterung ordnet eine erweiterte shortSubject_Ext-Ressourceneigenschaft dem ClaimCenter Activity.ShortSubject-Entitätsfeld zu:
{
. . .
"mappers": {
"Activity": {
"schemaDefinition": "Activity",
"root": "entity.Activity",
"properties": {
"shortSubject_Ext": {
"path": "Activity.ShortSubject"
}
}
}
}
}
Activity: Der Name des MappersschemaDefinition: Eine Zuordnung zurActivity-Schemadefinitionroot: Eine Zuordnung derActivity-Schemadefinition zurActivity-Entität in ClaimCentershortSubject_Ext: Ein Eigenschaftsname, wie in der Schemadefinition definiertpath: Ein Pfad, der die erweiterte Eigenschaft mit demActivity.ShortSubject-Entitätsfeld verknüpft. Werte können verkettet werden. Beispiel: Der Pfad für den Anzeigenamen eines Kontakts für einen Schadenfall istClaimContact.Contact.DisplayName.
Wenn der Wertetyp der Eigenschaft durch einen URI-Verweis in der Schemadefinitionserweiterung definiert ist, muss die erweiterte Eigenschaft auch ein mapper-Attribut enthalten. Die Syntax für diesen Wert lautet #/mappers/ gefolgt vom Namen des Schemas. Wenn der Wertetyp der Eigenschaft in der Schemadefinitionserweiterung beispielsweise "$ref": "#/definitionen/SimpleReference“ lautet, dann wäre der mapper-Attributwert "mapper": "#/mappers/SimpleReference".
Die folgende Liste gibt eine erweiterte activityClass_Ext-Ressourceneigenschaft wieder, die dem durch einen Typenschlüssel unterstützten Activity.ActivityClass-Entitätsfeld von ClaimCenter zugeordnet ist. Die Schemadefinitionserweiterung deklariert den Wertetyp der Eigenschaft als "$ref": "#/definitions/TypeKeyReference". Daher ist es erforderlich, das Attribut mapper einzuschließen:
{
. . .
"mappers": {
"Activity": {
"schemaDefinition": "Activity",
"root": "entity.Activity",
"properties": {
"activityClass_Ext": {
"path": "Activity.ActivityClass",
"mapper": "#/mappers/TypeKeyReference"
}
}
}
}
}