Consuming APIs
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

JSON Webサービスの構成

Liferayのサービスは、JSONウェブサービスとしてすぐに利用できる状態で提供されます。 これはデフォルトで有効になっています。 これらのサービスには、API ページ http://[address]:[port]/api/jsonws からアクセスできます。

ポータルプロパティのセットを使用すると、LiferayインスタンスにおけるJSON Webサービスの動作を細かく調整できます。 これらのプロパティやその他のプロパティについては、 ポータルプロパティリファレンスドキュメントを参照してください。

JSON WSを無効にする

portal-ext.properties ファイルでこのポータル プロパティを使用して JSON Web サービスを無効にする。

json.web.service.enabled=false

発見可能性の無効化

http://[address]:[port]/api/jsonwsでこれらのサービスへのアクセスを無効にするには、以下を使用します。

jsonws.web.service.api.discoverable=false
注

Liferay SaaS では、 /api/jsonws ディスカバリーページはデフォルトで無効になっています。 個々のJSONウェブサービスエンドポイントは引き続き呼び出し可能です。

HTTPメソッドの無効化

厳密なHTTPメソッドモードを使用すると、サービスが使用するHTTPメソッドに基づいてWebサービスへのアクセスをフィルタリングできます。 例えば、LiferayインスタンスのJSONウェブサービスを読み取り専用モードで動作させたい場合は、 GET 以外のすべてのHTTPメソッドを無効にします。

jsonws.web.service.invalid.http.methods=DELETE,POST,PUT

これを使用すると、 DELETE、 POST、または PUT HTTP メソッドを使用するすべてのリクエストは無視されます。

厳密なHTTPメソッド

すべての JSON Web サービスは、 GET または POST HTTP メソッドにマッピングされます。 サービス メソッド名が getで始まり、 が であるか、または がである場合、そのサービスは読み取り専用であり、 GET メソッドにバインドされます。 そうでなければ、 POST にバインドされます。

ブログで利用可能なJSONサービスメソッドの一部。

LiferayはデフォルトではHTTPメソッドのチェックを行いません。これは、非厳密なHTTPメソッドモードで動作するためです。 厳格モードを有効にするには、次のプロパティを使用します。

jsonws.web.service.strict.http.method=true

厳格モードを使用する場合は、サービスメソッドを呼び出す際に正しいHTTPメソッドを使用する必要があります。

公共アクセスの管理

厳密なHTTPモードであっても、HTTPメソッドを無効にしたい場合もあるでしょう。 各サービスメソッドは、特定のユーザーが選択されたアクションを実行する権限を持っているかどうかを認識します。 セキュリティが気になる場合は、特定のJSONウェブサービスパスを許可または制限することで、公開されているJSON APIへのアクセスを制限できます。

プロパティ jsonws.web.service.paths.includes は、許可されている JSON Web サービス アクション パスのパターンを示します。 公開されているすべてのメソッドへのアクセスを有効にするには、 * を指定します。 シンボル = の右側を空にすると、 jsonws.web.service.paths.excludes を使用して除外されたパスを除くすべてのパスが許可されます。

プロパティ jsonws.web.service.paths.excludes は、JSON Web サービス アクション パスのパターンを示します。これらのパスは、 jsonws.web.service.paths.includes で設定されたパターンのいずれかに一致する場合でも許可されません。

これらのプロパティはワイルドカードに対応していることに注意してください。 例えば、 jsonws.web.service.paths.includes=get*,has*,is*を設定すると、Liferay は読み取り専用の JSON メソッドをすべて公開アクセス可能にします。 その他のJSONメソッドはすべて無効になっています。

注意: パスが jsonws.web.service.paths.includes と jsonws.web.service.paths.excludes プロパティの両方に一致する場合、 jsonws.web.service.paths.excludes プロパティが優先されます。