スクリプト・ハンドラー

REST API は、単純な構成を使用してデータを取得または処理するためのほとんどのユース・ケースをサポートできます。 場合によっては、既存の API を使用してデータを取得または処理することが困難なシナリオが存在します。 そのような場合は、起動ポイントではなく、スクリプトを作成できます。

GET または POST のいずれかを使用してスクリプトを呼び出すことができます。以下に例を示します。
https://myurl.com/maximo/api/script/SCRIPTNAME?lean=1
以下の表に、暗黙的変数をリストします。
表 1. 暗黙的変数
変数名 説明
要求 実行された要求の OslcRequest 表記。 この変数は、クエリパラメータまたはヘッダーとして提供された値を取得するための重要なメソッド request.getQueryParam(“parameter” や request.getHeader(“header” を示します。 また request.getUserInfo( を呼び出すことUserInfo にアクセスできます。
requestBody POST、PATCH、PUT の要求でサブミットされたデータのストリング表現
httpMethod このメソッドが GET、POST、PUT などであったかどうか。 request.getHttpMethod(を呼び出すことでも取得できます。
responseBody このスクリプトは、この変数を、応答で返す byte [] または String として設定します。 応答を返す予定がない場合、この変数は必要ありません。
responseHeaders スクリプトは、この HashMap に追加のヘッダーを提供して、呼び出し側アプリケーションに戻ることができます。
以下のスクリプト例は、照会パラメーターに基づいてユーザーのデフォルトの挿入サイトを変更します。
# This example changes the user's default insert site based on the query parameter. 
# This is different from setting it on the MAXUSER record because this updates for the current session.
from psdi.server import MXServer
maxServer=MXServer.getMXServer()
siteid=request.getQueryParam("siteid")
if siteid and maxServer.isValidSite(siteid):
    userInfo=request.getUserInfo()
    userSet=maxServer.getMboSet("MAXUSER",userInfo)
    userSet.setQbeExactMatch(True)
以下の例のような GET/POST 要求を指定して呼び出します。
https://myurl.com/maximo/oslc/script/setinsertsite?lean=1&siteid=BEDFORD