2016-06-09 2 views
0

J'ai une opération de lecture sur un ensemble Odata dans lequel je passe la clé. Si la clé est une chaîne, tout fonctionne bien, mais maintenant nous sommes passés de String en tant que type de données clé à guid en tant que type de données et l'appel en lecture ne fonctionne plus. Je reçois toujours BAD Request 400.Passage d'un guid au service SAP Odata dans SAPUI5

Voici la solution avec le paramètre String, qui fonctionne.

var oModel = this.getView().getModel(); 
var someKey = "Key 1"; 
    oModel.read("/SomeSet('" + someKey + "')", { 
    urlParameters: {"$expand":"SomeItemToExpand"}, 
    success: function (oData, oResponse) { 
     sap.m.MessageToast.show("Read successfulf");    
    }, 
    error: function (onError) { 
     sap.m.MessageBox.error("Error reading"); 
    } 
}); 

Comment passer un guid? J'ai essayé:

oModel.read("/SomeSet(guid'" + someKey + "')" 

mais ne fonctionne pas.

+0

Une autre remarque que je travaille actuellement avec le MockServer, je ne sais pas si c'est important. –

Répondre

0

Je fini par comprendre la meilleure façon passer un guid est:

oModel.read("/SomeSet(SomeKey=guid\'" + someKey + "\')", { 

SomeKey = est le nom de la clé et cette partie est facultative.

+0

Vous devriez essayer d'utiliser createKey à la place. Si cette touche change de type, la logique de votre application fonctionne toujours, par exemple: 'oModel.read (oModel.createKey (" SomeSet ", {SomeKey: someKey}))' – jpenninkhof

+0

Merci, c'est un bon point! –