[
https://issues.apache.org/jira/browse/WW-4366?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Lukasz Lenart updated WW-4366:
------------------------------
Fix Version/s: 7.2.0
(was: 7.1.0)
> Action methods should accept arguments like @QueryParam, @FormParam,
> @PathParam and specific request methods GET, PUT, POST etc
> ---------------------------------------------------------------------------------------------------------------------------------
>
> Key: WW-4366
> URL: https://issues.apache.org/jira/browse/WW-4366
> Project: Struts 2
> Issue Type: New Feature
> Components: Core Actions
> Reporter: samarjit samanta
> Priority: Major
> Labels: features
> Fix For: 7.2.0
>
> Attachments: image-2025-01-19-17-30-56-571.png
>
>
> Struts2 action methods should accept arguments just like JAX-RS specs. Also
> certain method types should be allowed only like GET, PUT, POST, DELTE.
> Inspiration might be taken from struts-json plugin @SMDMthod but that is not
> a real action method.
> If there are multiple action methods in a Action class then it becomes less
> obvious which variables are used for a particular action method.
> Ex.
> {code:java}
> @ActionPath("/books/{id}")
> public String showAction(@PathParam("id") String id,
> @QueryParam("name") String name) {
> ...
> return "success";
> }
> {code}
> Also flexible return types as defined in JAX-RS would be great or atleast
> {code:java}
> Result.json(myObject).includeActionErrors().includeActionMessages().done();
> Result.string(myString).done();
> Result.create("json").from(myObject).param("includeActionErrors,includeActionMessages").done();
> {code}
> The action method return type can be to denote builder like result. The
> closest in struts I can see is HttpHeaderResult. But this does not allow
> arbritrary string result and let the end user create the string as json or
> plain text.
> {code:java}
> @Action
> public Result showAction(...){}
> {code}
> Inspiration can be taken from struts2-json-plugin#SMDMethod and
> https://github.com/bastengao/struts2-freeroute
--
This message was sent by Atlassian Jira
(v8.20.10#820010)