Package org.apache.struts2.rest

# Class RestActionInvocation

java.lang.Object
org.apache.struts2.DefaultActionInvocation
org.apache.struts2.rest.RestActionInvocation

All Implemented Interfaces:
  `ActionInvocation`

public class RestActionInvocation extends DefaultActionInvocation
Extends the usual `ActionInvocation` to add support for processing the object returned from the action execution. This allows us to support methods that return `HttpHeaders` as well as apply content type-specific operations to the result.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected boolean`
  `hasErrors`
  `protected HttpHeaders`
  `httpHeaders`
  `protected boolean`
  `isFirstInterceptor`
  `protected Object`
  `target`

  ### Fields inherited from class org.apache.struts2.DefaultActionInvocation

  `action, actionEventListener, asyncAction, asyncManager, container, executed, explicitResult, extraContext, interceptors, invocationContext, lazyParamInjector, objectFactory, ognlUtil, preResultListeners, proxy, pushAction, result, resultCode, stack, unknownHandlerManager, valueStackFactory`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `RestActionInvocation(Map<String,Object> extraContext, boolean pushAction)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `invoke()`
  `protected void`
  `processResult()`
  `protected String`
  `saveResult(ActionConfig actionConfig, Object methodResult)`
  Save the result to be used later.
  `protected void`
  `selectTarget()`
  `void`
  `setDefaultErrorResultName(String defaultErrorResultName)`
  `void`
  `setLogger(String logger)`
  `void`
  `setMimeTypeHandlerSelector(ContentTypeHandlerManager selector)`
  `void`
  `setRestrictToGet(String restrictToGet)`
  If set to true (by default) blocks returning content from any other methods than GET, if set to false, the content can be returned for any kind of method
  `protected void`
  `updateStatusFromResult()`
  Get the status code from HttpHeaderResult and it is saved in the HttpHeaders object.

  ### Methods inherited from class org.apache.struts2.DefaultActionInvocation

  `addPreResultListener, createAction, createContextMap, createInterceptors, createResult, executeConditional, getAction, getInvocationContext, getProxy, getResult, getResultCode, getStack, init, invokeAction, invokeActionOnly, isExecuted, prepareLazyParamInjector, setActionEventListener, setAsyncManager, setContainer, setObjectFactory, setOgnlUtil, setResultCode, setUnknownHandlerManager, setValueStackFactory`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### httpHeaders

    protected HttpHeaders httpHeaders

  - ### target

    protected Object target

  - ### isFirstInterceptor

    protected boolean isFirstInterceptor

  - ### hasErrors

    protected boolean hasErrors

- ## Constructor Details

  - ### RestActionInvocation

    protected RestActionInvocation(Map<String,Object> extraContext, boolean pushAction)

- ## Method Details

  - ### setLogger

    public void setLogger(String logger)

  - ### setDefaultErrorResultName

    public void setDefaultErrorResultName(String defaultErrorResultName)

  - ### setRestrictToGet

    public void setRestrictToGet(String restrictToGet)
    If set to true (by default) blocks returning content from any other methods than GET, if set to false, the content can be returned for any kind of method
    Parameters:
      `restrictToGet` - true or false

  - ### setMimeTypeHandlerSelector

    public void setMimeTypeHandlerSelector(ContentTypeHandlerManager selector)

  - ### saveResult

    protected String saveResult(ActionConfig actionConfig, Object methodResult)
    Save the result to be used later.
    Overrides:
      `saveResult` in class `DefaultActionInvocation`
    Parameters:
      `actionConfig` - current ActionConfig
      `methodResult` - the result of the action.
    Returns:
      the result code to process.
    Throws:
      `ConfigurationException` - If it is an incorrect result.

  - ### invoke

    public String invoke() throws Exception
    Specified by:
      `invoke` in interface `ActionInvocation`
    Overrides:
      `invoke` in class `DefaultActionInvocation`
    Throws:
      `Exception`

  - ### processResult

    protected void processResult() throws Exception
    Throws:
      `Exception`

  - ### updateStatusFromResult

    protected void updateStatusFromResult()
    Get the status code from HttpHeaderResult and it is saved in the HttpHeaders object.

  - ### selectTarget

    protected void selectTarget()