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

JSON Webサービスの構成

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

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

JSON WS を無効にする

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

json.web.service.enabled=false

検出可能性を無効にする

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

jsonws.web.service.api.discoverable=false

HTTPメソッドの無効化

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

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

これを使用すると、 DELETEPOST、または 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 Web サービス パスを許可または制限することで、公開されている JSON API へのアクセスを制限できます。

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

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

これらのプロパティはワイルドカードをサポートしていることに注意してください。 たとえば、 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 プロパティが優先されます。