クラス WebApiParamMapDefinition

java.lang.Object
org.iplass.mtp.webapi.definition.WebApiParamMapDefinition
すべての実装されたインタフェース:
Serializable

public class WebApiParamMapDefinition extends Object implements Serializable

リクエスト時のURLのパスをパラメータとして受けとる際のマッピング定義です。

nameに指定したパラメータ名に、mapFromで指定されたパス、もしくは別パラメータをマッピングします。
mapFromには、リクエストURLのパスの一部を表す文字列、もしくは別パラメータ名を指定することが可能です。 mapFromを${0}とした場合、WebApi名より1階層下層のパスの値がマップされます。 ${1}とした場合、WebApi名より2階層下層のパスの値がマップされます。 また、mapFromを${paths}とした場合、サブパスすべてマップします。

たとえば、WebApi名が"sample/webApi1"の場合において、 "sample/webApi1/path1/path2/path3?paramX=fuga"を呼び出した場合、mapFromに設定した値によって、 それぞれ次の値がパラメータにマップされます。

  • ${0} -> path1
  • ${1} -> path2
  • ${paths} -> path1/path2/path3
  • paramX -> fuga

conditionを指定することにより、パラメータをマッピングを実行する条件を指定することが可能です。 conditionはgroovyScriptで記述可能で、次の変数がバインドされており判断に利用可能です。

  • subPath : webApiより下層のサブパスを/で分割したString配列
  • fullPath : webApi含めたフルパスを/で分割したString配列
  • paramMap : リクエストパラメータのMap

たとえば、次のようなParamMap定義がある場合、

namemapFromcondition
defName${0}subPath.length==1
viewName${0}subPath.length==2
defName${1}subPath.length==2

webApi1に対するリクエストパスが、

  • webApi1/hogeだった場合、defName=hoge
  • webApi1/hoge/fugaだった場合、viewName=hoge, defName=fuga
となります。

関連項目:
  • フィールド詳細

    • PATHS

      public static final String PATHS
      WebApiのパスを除いたサブパスの文字列をマップする場合の定数です。
      関連項目:
  • コンストラクタの詳細

    • WebApiParamMapDefinition

      public WebApiParamMapDefinition()
  • メソッドの詳細

    • getName

      public String getName()
      戻り値:
      name
    • setName

      public void setName(String name)
      パラメータ:
      name - セットする name
    • getMapFrom

      public String getMapFrom()
      戻り値:
      mapFrom
    • setMapFrom

      public void setMapFrom(String mapFrom)
      パラメータ:
      mapFrom - セットする mapFrom
    • getCondition

      public String getCondition()
    • setCondition

      public void setCondition(String condition)