Package org.apache.struts2.rest
Class RestActionMapper
java.lang.Object
org.apache.struts2.dispatcher.mapper.DefaultActionMapper
org.apache.struts2.rest.RestActionMapper
- All Implemented Interfaces:
- ActionMapper
 This Restful action mapper enforces Ruby-On-Rails Rest-style mappings.  If the method
 is not specified (via '!' or 'method:' prefix), the method is "guessed" at using
 ReST-style conventions that examine the URL and the HTTP method.  Special care has
 been given to ensure this mapper works correctly with the codebehind plugin so that
 XML configuration is unnecessary.
 
This mapper supports the following parameters:
- struts.mapper.idParameterName- If set, this value will be the name of the parameter under which the id is stored. The id will then be removed from the action name. Whether or not the method is specified, the mapper will try to truncate the identifier from the url and store it as a parameter.
- struts.mapper.indexMethodName- The method name to call for a GET request with no id parameter. Defaults to 'index'.
- struts.mapper.getMethodName- The method name to call for a GET request with an id parameter. Defaults to 'show'.
- struts.mapper.postMethodName- The method name to call for a POST request with no id parameter. Defaults to 'create'.
- struts.mapper.putMethodName- The method name to call for a PUT request with an id parameter. Defaults to 'update'.
- struts.mapper.deleteMethodName- The method name to call for a DELETE request with an id parameter. Defaults to 'destroy'.
- struts.mapper.editMethodName- The method name to call for a GET request with an id parameter and the 'edit' view specified. Defaults to 'edit'.
- struts.mapper.newMethodName- The method name to call for a GET request with no id parameter and the 'new' view specified. Defaults to 'editNew'.
The following URL's will invoke its methods:
- GET: /movies => method="index"
- GET: /movies/Thrillers => method="show", id="Thrillers"
- GET: /movies/Thrillers;edit => method="edit", id="Thrillers"
- GET: /movies/Thrillers/edit => method="edit", id="Thrillers"
- GET: /movies/new => method="editNew"
- POST: /movies => method="create"
- PUT: /movies/Thrillers => method="update", id="Thrillers"
- DELETE: /movies/Thrillers => method="destroy", id="Thrillers"
To simulate the HTTP methods PUT and DELETE, since they aren't supported by HTML, the HTTP parameter "_method" will be used.
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final Stringprotected static final org.apache.logging.log4j.LoggerFields inherited from class org.apache.struts2.dispatcher.mapper.DefaultActionMapperACTION_PREFIX, allowedActionNames, allowedMethodNames, allowedNamespaceNames, allowSlashesInActionNames, alwaysSelectFullNamespace, container, defaultActionName, defaultMethodName, defaultNamespaceName, extensions, METHOD_PREFIX, prefixTrie
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptiongetMapping(jakarta.servlet.http.HttpServletRequest request, ConfigurationManager configManager) protected booleanisDelete(jakarta.servlet.http.HttpServletRequest request) protected booleanisExpectContinue(jakarta.servlet.http.HttpServletRequest request) protected booleanisGet(jakarta.servlet.http.HttpServletRequest request) protected booleanisOptions(jakarta.servlet.http.HttpServletRequest request) protected booleanisPost(jakarta.servlet.http.HttpServletRequest request) protected booleanisPut(jakarta.servlet.http.HttpServletRequest request) protected voidparseNameAndNamespace(String uri, ActionMapping mapping, ConfigurationManager configManager) Parses the name and namespace from the uri.voidsetAllowDynamicMethodCalls(String allowDynamicMethodCalls) voidsetDeleteMethodName(String deleteMethodName) voidsetEditMethodName(String editMethodName) voidsetGetMethodName(String getMethodName) voidsetIdParameterName(String idParameterName) voidsetIndexMethodName(String indexMethodName) voidsetNewMethodName(String newMethodName) voidsetOptionsMethodName(String optionsMethodName) voidsetPostContinueMethodName(String postContinueMethodName) voidsetPostMethodName(String postMethodName) voidsetPutContinueMethodName(String putContinueMethodName) voidsetPutMethodName(String putMethodName) Methods inherited from class org.apache.struts2.dispatcher.mapper.DefaultActionMapperaddParameterAction, cleanupActionName, cleanupMethodName, cleanupNamespaceName, dropExtension, extractMethodName, getDefaultExtension, getMappingFromActionName, getUriFromActionMapping, handleDynamicMethod, handleExtension, handleName, handleNamespace, handleParams, handleSpecialParameters, isSlashesInActionNames, lookupExtension, parseActionName, setAllowActionPrefix, setAllowedActionNames, setAllowedMethodNames, setAllowedNamespaceNames, setAlwaysSelectFullNamespace, setContainer, setDefaultActionName, setDefaultMethodName, setDefaultNamespaceName, setExtensions, setSlashesInActionNames
- 
Field Details- 
LOGprotected static final org.apache.logging.log4j.Logger LOG
- 
HTTP_METHOD_PARAM- See Also:
 
 
- 
- 
Constructor Details- 
RestActionMapperpublic RestActionMapper()
 
- 
- 
Method Details- 
getIdParameterName
- 
setIdParameterName
- 
setIndexMethodName
- 
setGetMethodName
- 
setPostMethodName
- 
setEditMethodName
- 
setNewMethodName
- 
setDeleteMethodName
- 
setPutMethodName
- 
setOptionsMethodName
- 
setPostContinueMethodName
- 
setPutContinueMethodName
- 
setAllowDynamicMethodCalls- Overrides:
- setAllowDynamicMethodCallsin class- DefaultActionMapper
 
- 
getMappingpublic ActionMapping getMapping(jakarta.servlet.http.HttpServletRequest request, ConfigurationManager configManager) - Specified by:
- getMappingin interface- ActionMapper
- Overrides:
- getMappingin class- DefaultActionMapper
 
- 
parseNameAndNamespaceprotected void parseNameAndNamespace(String uri, ActionMapping mapping, ConfigurationManager configManager) Parses the name and namespace from the uri. Uses the configured package namespaces to determine the name and id parameter, to be parsed later.- Overrides:
- parseNameAndNamespacein class- DefaultActionMapper
- Parameters:
- uri- The uri
- mapping- The action mapping to populate
 
- 
isGetprotected boolean isGet(jakarta.servlet.http.HttpServletRequest request) 
- 
isPostprotected boolean isPost(jakarta.servlet.http.HttpServletRequest request) 
- 
isPutprotected boolean isPut(jakarta.servlet.http.HttpServletRequest request) 
- 
isDeleteprotected boolean isDelete(jakarta.servlet.http.HttpServletRequest request) 
- 
isOptionsprotected boolean isOptions(jakarta.servlet.http.HttpServletRequest request) 
- 
isExpectContinueprotected boolean isExpectContinue(jakarta.servlet.http.HttpServletRequest request) 
 
-