You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2026/08/30 06:46:29 UTC

(struts) branch WW-5707-deprecate-legacy-restful-mappers created (now 58e052dd7)

This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a change to branch WW-5707-deprecate-legacy-restful-mappers
in repository https://gitbox.apache.org/repos/asf/struts.git


      at 58e052dd7 WW-5707 chore(core): deprecate legacy restful and restful2 action mappers

This branch includes the following new commits:

     new 58e052dd7 WW-5707 chore(core): deprecate legacy restful and restful2 action mappers

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(struts) 01/01: WW-5707 chore(core): deprecate legacy restful and restful2 action mappers

Posted by lu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch WW-5707-deprecate-legacy-restful-mappers
in repository https://gitbox.apache.org/repos/asf/struts.git

commit 58e052dd71b231145aedb976059fe3028153d7e5
Author: Lukasz Lenart <lu...@apache.org>
AuthorDate: Sun Aug 30 08:46:21 2026 +0200

    WW-5707 chore(core): deprecate legacy restful and restful2 action mappers
    
    The core restful (RestfulActionMapper) and restful2 (Restful2ActionMapper)
    mappers predate the Struts REST plugin, which is the maintained way to build
    REST-style applications. Mark both classes @Deprecated(forRemoval = true) and
    point their javadoc to the REST plugin; removal is tracked as WW-5708.
    
    Fixes: https://issues.apache.org/jira/browse/WW-5707
    
    Co-Authored-By: Claude Opus 4.8 <no...@anthropic.com>
    Claude-Session: https://claude.ai/code/session_016XMyQ1CRuYZkqygmD4aGHv
---
 .../org/apache/struts2/dispatcher/mapper/Restful2ActionMapper.java    | 4 ++++
 .../org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java     | 4 ++++
 core/src/main/resources/struts-beans.xml                              | 2 ++
 3 files changed, 10 insertions(+)

diff --git a/core/src/main/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapper.java b/core/src/main/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapper.java
index 988c23943..d0332c301 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapper.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapper.java
@@ -33,7 +33,11 @@ import java.util.StringTokenizer;
 /**
  * Extended version of {@link RestfulActionMapper}, see documentation for more details
  * <a href="https://struts.apache.org/core-developers/restful-action-mapper.html">Restful2ActionMapper</a>
+ *
+ * @deprecated since 7.4.0, this legacy mapper predates the Struts REST plugin, which is the maintained
+ * way to build REST-style applications with Struts. Scheduled for removal in the next major release.
  */
+@Deprecated(forRemoval = true)
 public class Restful2ActionMapper extends DefaultActionMapper {
 
     private static final Logger LOG = LogManager.getLogger(Restful2ActionMapper.class);
diff --git a/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java b/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java
index d93d45e98..2a7735083 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java
@@ -34,7 +34,11 @@ import java.util.StringTokenizer;
  * Simple Restfull Action Mapper to support REST application
  * See docs for more information
  * <a href="https://struts.apache.org/core-developers/restful-action-mapper.html">RestfulActionMapper</a>
+ *
+ * @deprecated since 7.4.0, this legacy mapper predates the Struts REST plugin, which is the maintained
+ * way to build REST-style applications with Struts. Scheduled for removal in the next major release.
  */
+@Deprecated(forRemoval = true)
 public class RestfulActionMapper implements ActionMapper {
 
     protected static final Logger LOG = LogManager.getLogger(RestfulActionMapper.class);
diff --git a/core/src/main/resources/struts-beans.xml b/core/src/main/resources/struts-beans.xml
index 8ad4dff8b..e53710c22 100644
--- a/core/src/main/resources/struts-beans.xml
+++ b/core/src/main/resources/struts-beans.xml
@@ -79,6 +79,8 @@
           class="org.apache.struts2.dispatcher.mapper.CompositeActionMapper"/>
     <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="prefix"
           class="org.apache.struts2.dispatcher.mapper.PrefixBasedActionMapper"/>
+    <!-- Deprecated for removal: the legacy "restful" and "restful2" mappers predate the Struts REST
+         plugin, which is the maintained way to build REST-style applications. -->
     <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="restful"
           class="org.apache.struts2.dispatcher.mapper.RestfulActionMapper"/>
     <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="restful2"