Manifestbestand voor het toevoegen van UI-annotatie in aangepaste UI5-app

inleiding - Dit bericht maakt deel uit van de UI5-programma's series.

Introductie

Vaak moeten we UI-annotatie toevoegen voor een aangepaste UI5-toepassing. Deze vereiste wordt gegenereerd omdat de backend niet in staat is om bepaalde metagegevens te verstrekken die vereist zijn voor slimme bedieningselementen. Om die metadata toe te voegen, maken we een annotatiebestand en maken we verbinding met de vereiste service. In dit artikel zullen we ons vooral concentreren op het instellen van UI-annotatie met behulp van het manifest.json-bestand. Hoe de annotaties worden toegevoegd, bespreken we in een ander artikel.

Beginnen met het toevoegen van annotaties in een service

We moeten de gegeven stappen volgen om een ​​annotatie toe te voegen in een aangepaste UI5-app:

  1. Download de metadata van de dienst waarvoor je Annotatie wilt toevoegen. Daarvoor moet je openen “ / /$metadata" en sla het lokaal op uw systeem op. Hier zullen we een voorbeeld nemen van Northwind-metadata.
    Lokale metadata toevoegen in UI5
  2. Voeg een nieuwe OData-service toe (door met de rechtermuisknop op het project te klikken) en kies "Bestandssysteem" als bron. Het zal vragen om een ​​metadatabestand te uploaden. Upload degene die je zojuist hebt gedownload in stap 01. Kies standaard of genoemd model in de volgende stap. Hiermee wordt automatisch een service toegevoegd aan uw manifestbestand. Er wordt ook een nieuwe map "localService" gemaakt met uw metadatabestand.
    Lokale service toevoegen in UI5

Het manifest ziet er nu als volgt uit:

Manfiest voor lokale service in UI5

  1. Voeg een nieuw annotatiebestand toe (door met de rechtermuisknop op de map "LocalService" te klikken), kies uw model (hier is het Northwind) en voltooi.

UI-annotatie toevoegen in aangepaste UI5-appHiermee wordt een annotatiebestand gemaakt in de map "LocalService". Het zal ook de metadata wijzigen zoals hieronder:

Manifest voor UI-annotatie in aangepaste UI5-app

Zoals je kunt zien, is er nu een nieuwe annotatie toegevoegd aan het manifest.

  1. Nu kunt u uw annotatiebestand en uw respectieve wijzigingen openen.

Annotatiebestand in aangepaste UI5Wijzigingen in manifestbestand voor het toevoegen van UI-annotatie in aangepaste UI5-app

Voor Annotatie worden de volgende wijzigingen opgenomen in een manifestbestand. Zoals je zag, werden alle wijzigingen automatisch gegenereerd:

"dataSources": { "NorthwindModel": { "uri": "/here/goes/your/serviceurl/", "type": "OData", "settings": { "localUri": "localService/metadata.xml" , "annotations": [ "annotation0" ] } }, "annotation0": { "type": "ODataAnnotation", "uri": "localService/annotation0.xml", "settings": { "localUri": "localService/ annotation0.xml" } } }

Volledige manifestcode

{
    "_version": "1.12.0",
    "sap.app": {
        "id": "Test.Test",
        "type": "application",
        "i18n": "i18n/i18n.properties",
        "applicationVersion": {
            "version": "1.0.0"
        },
        "title": "{{appTitle}}",
        "description": "{{appDescription}}",
        "sourceTemplate": {
            "id": "servicecatalog.connectivityComponentForManifest",
            "version": "0.0.0"
        },
        "dataSources": {
            "NorthwindModel": {
                "uri": "/here/goes/your/serviceurl/",
                "type": "OData",
                "settings": {
                    "localUri": "localService/metadata.xml",
                    "annotations": [
                        "annotation0"
                    ]
                }
            },
            "annotation0": {
                "type": "ODataAnnotation",
                "uri": "localService/annotation0.xml",
                "settings": {
                    "localUri": "localService/annotation0.xml"
                }
            }
        }
    },
    "sap.ui": {
        "technology": "UI5",
        "icons": {
            "icon": "",
            "favIcon": "",
            "phone": "",
            "phone@2": "",
            "tablet": "",
            "tablet@2": ""
        },
        "deviceTypes": {
            "desktop": true,
            "tablet": true,
            "phone": true
        }
    },
    "sap.ui5": {
        "flexEnabled": false,
        "rootView": {
            "viewName": "Test.Test.view.Main",
            "type": "XML",
            "async": true,
            "id": "Main"
        },
        "dependencies": {
            "minUI5Version": "1.65.6",
            "libs": {
                "sap.ui.layout": {},
                "sap.ui.core": {},
                "sap.m": {}
            }
        },
        "contentDensities": {
            "compact": true,
            "cozy": true
        },
        "models": {
            "i18n": {
                "type": "sap.ui.model.resource.ResourceModel",
                "settings": {
                    "bundleName": "Test.Test.i18n.i18n"
                }
            },
            "": {
                "type": "sap.ui.model.odata.v2.ODataModel",
                "settings": {
                    "defaultOperationMode": "Server",
                    "defaultBindingMode": "OneWay",
                    "defaultCountMode": "Request"
                },
                "dataSource": "NorthwindModel",
                "preload": true
            },
            "@i18n": {
                "type": "sap.ui.model.resource.ResourceModel",
                "uri": "i18n/i18n.properties"
            }
        },
        "resources": {
            "css": [
                {
                    "uri": "css/style.css"
                }
            ]
        },
        "routing": {
            "config": {
                "routerClass": "sap.m.routing.Router",
                "viewType": "XML",
                "async": true,
                "viewPath": "Test.Test.view",
                "controlAggregation": "pages",
                "controlId": "app",
                "clearControlAggregation": false
            },
            "routes": [
                {
                    "name": "RouteMain",
                    "pattern": "RouteMain",
                    "target": [
                        "TargetMain"
                    ]
                }
            ],
            "targets": {
                "TargetMain": {
                    "viewType": "XML",
                    "transition": "slide",
                    "clearControlAggregation": false,
                    "viewId": "Main",
                    "viewName": "Main"
                }
            }
        }
    }
}

 

Auteur


Heb je vragen? Stel ze hier.

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *

Deze site gebruikt Akismet om spam te verminderen. Ontdek hoe uw reactiegegevens worden verwerkt.