org.apache.struts2.rest

## Class RestActionInvocation

- java.lang.Object
- - com.opensymphony.xwork2.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.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface com.opensymphony.xwork2.ActionInvocation

      `ActionInvocation.LegacyAdapter`

  - ### Field Summary

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

    - ### Fields inherited from class com.opensymphony.xwork2.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 and Description
    --- | ---
    `protected` | `RestActionInvocation(Map<String,Object> extraContext, boolean pushAction)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 com.opensymphony.xwork2.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`

    - ### Methods inherited from interface com.opensymphony.xwork2.ActionInvocation

      `adapt, addPreResultListener, init, setActionEventListener`

- - ### Field Detail

    - #### httpHeaders

          protected HttpHeaders httpHeaders

    - #### target

          protected Object target

    - #### isFirstInterceptor

          protected boolean isFirstInterceptor

    - #### hasErrors

          protected boolean hasErrors

  - ### Constructor Detail

    - #### RestActionInvocation

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

  - ### Method Detail

    - #### 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()

Copyright © 2000–2026 Apache Software Foundation. All rights reserved.