Version 2015.2.x ~
  RESTでクロスドメイン制約を回避する方法を教えて下さい。

%CSP.REST クラスを継承する REST 用ディスパッチクラスで REST を実装している場合は、クロスドメイン制約回避用に用意されたパラメータ HandleCorsRequest を利用します。

設定方法は以下の通りです。

REST 用ディスパッチクラスをスタジオで修正する場合は、
[クラス] > [リファクタ] > [オーバーライド] を開き、[パラメータ]タブを選択 > [HandleCorsRequest] を選択後OKボタンを押下します。
以下の定義が追加されるので、1を設定します。

Parameter HandleCorsRequest=1;

REST ディスパッチクラスを Atelier で修正する場合は、オーバーライドメニューの用意がないため、パラメータの定義を追加するか、%CSP.REST クラスを開き、HandleCorsRequest の定義をコピーし修正します。

パラメータ:HandleCorsRequest 他に、REST 用ディスパッチクラスに用意する URL マップ(URL に対応するメソッドのマップ定義)の Route 要素毎に Cors 属性を true に設定する方法でも回避できます。
メモ:Cors 属性はデフォルトでは false が設定されています。

XData UrlMap
{
<Routes>
<Route Url="/persons/:keyword" Method="GET" Call="REST.Person:getperson" Cors="true" />
<Route Url="/persons2/" Method="POST" Call="REST.Person:getperson2"/>
Routes>
}

設定詳細については以下ドキュメントをご参照ください。
CORS使用のためのRESTサービスの構成について【IRIS】

CORS使用のためのRESTサービスの構成について

コードサンプルについては、関連トピックをご参照ください。


該当する製品: Caché, Ensemble, HealthShare/Caché Based, IRIS Data Platform, HealthShare/IRIS Based, IRIS for Health
関連トピック: jQueryでCachéのデータをJSON形式で取得するにはどうすればいいですか?
添付ファイル:

アンケートにご協力をお願いします
このトピックは参考になりましたか?
このトピックに関するお問い合わせ

FAQトップに戻る