[ 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.1.0 (was: 7.0.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.1.0 > > > 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)