2017-09-18 16 views
0

私のSAPUI5アプリケーションでは、RESTサービスからデータを取得しようとしています。私はSCP操縦室の目的地を作成し、neo-app.jsonファイルで同じ目的地を述べました。私は正常にAJAX呼び出しを介してデータを取得することができます。私の質問です:これは、RESTサービスからデータを取得する唯一の方法です。ノースウィンドのサービスのために、私はAJAXコールを使用していません。私は単純にneo-app.jsonファイルで目的地の名前を述べ、manifest.jsonにデータソースを作成し、データソースを使用してモデルを作成しました。しかし、私は自分のRESTサービスで同じことをすることはできません。私は500の内部サーバーエラーを取得しているデータソースを作成中に。REST JAVAサービスとSAPUI5

おかげ&よろしく、

MS

答えて

2

ノースウィンド・サービスは、オープン・データ・プロトコルに準拠ODATAサービスです。したがって、UI5内でoDataモデルを作成するために使用できるデータソースを作成することができます。 UI5は内部的にdata.jsを使用しており、読み込み、更新、挿入、削除などのサービス要求を実行する便利なメソッドを提供しているため、AJAX呼び出しを実行したり、URLを操作したりする必要はありません。 UI5データモデル(oData/JSON/XML/ResourceModel)のいずれかを使用すると、バインディングと集計もUI5によって自動的に管理されます。

JAVAベースのサービスでoDataプロトコルが実装されている場合は、これをNorthwindサービスと同様に使用できます。 JSONまたはXMLとして応答を提供する場合は、JSONモデルまたはXMLモデルを使用できます。しかし、応答が他の形式である場合は、AJAX呼び出しを使用し、データを解析して&をJSONに変換する必要があります。その後、JSONモデルで使用することができます。

あなたのネオapp.jsonに

{ 
      "path": "/comments", 
      "target": { 
      "type": "destination", 
      "name": "JAVAJSON", 
      "entryPath": "/comments" 
      }, 
      "description": "JAVA based REST API" 
} 

を送信先を追加する必要があります次に、あなたのmanifest.jsonを

"models": { 
    "":{ 
    ... 
    ... 
    } 
    "DataModel": { 
    "type": "sap.ui.model.json.JSONModel", 
    "settings": {}, 
    "uri": "/comments", 
    "preload": false 
    } 
} 
+0

こんにちはスティーブン・モデルを作成し、ご返信いただきありがとうございます。私たちのサービスはJSON形式で出力を返します。データソースを手動で作成してモデルを作成できますか? –

+0

はい、私の更新された回答を確認できます –

+0

私のURLは https:// <>/<サービス名>/Initial/vesselsです。 URL:https:// <>/<サービス名>で宛先を作成しました。 \t ": { "パス": "/ vesselInformation"、 "ターゲット":{ "タイプ": "宛先"、 "名前":あなたが示唆したように "lsITSVesselInformation" は}、 は今、私がモデルを作成しましたたDataModel ":{ "タイプ": "sap.ui.model.json.JSONModel"、 "設定":{}、 "URI": "/ vesselInformation"、 "プリロード" 偽 }} それでモデルエンティティ(船舶)を読む方法。 oModel.read()です。ここで可能? –

関連する問題