Package org.iplass.mtp.webapi.definition
Class WebApiParamMapDefinition
java.lang.Object
org.iplass.mtp.webapi.definition.WebApiParamMapDefinition
- All Implemented Interfaces:
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定義がある場合、
name | mapFrom | condition |
---|---|---|
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
- See Also:
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetName()
void
setCondition
(String condition) void
setMapFrom
(String mapFrom) void
-
Field Details
-
PATHS
WebApiのパスを除いたサブパスの文字列をマップする場合の定数です。- See Also:
-
-
Constructor Details
-
WebApiParamMapDefinition
public WebApiParamMapDefinition()
-
-
Method Details
-
getName
- Returns:
- name
-
setName
- Parameters:
name
- セットする name
-
getMapFrom
- Returns:
- mapFrom
-
setMapFrom
- Parameters:
mapFrom
- セットする mapFrom
-
getCondition
-
setCondition
-