Spring MVC How take the parameter value of a GET HTTP Request in my controller method?
Solution 1
As explained in the documentation, by using an @RequestParam
annotation:
public @ResponseBody String byParameter(@RequestParam("foo") String foo) {
return "Mapped by path + method + presence of query parameter! (MappingController) - foo = "
+ foo;
}
Solution 2
You could also use a URI template. If you structured your request into a restful URL Spring could parse the provided value from the url.
HTML
<li>
<a id="byParameter"
class="textLink" href="<c:url value="/mapping/parameter/bar />">By path, method,and
presence of parameter</a>
</li>
Controller
@RequestMapping(value="/mapping/parameter/{foo}", method=RequestMethod.GET)
public @ResponseBody String byParameter(@PathVariable String foo) {
//Perform logic with foo
return "Mapped by path + method + presence of query parameter! (MappingController)";
}
Spring URI Template Documentation
AndreaNobili
Updated on January 17, 2020Comments
-
AndreaNobili over 4 years
In this period I am studing the Spring MVC showcase example (downloadable from STS dasboard) and I have some simple question about the
Request Mapping
examples:1) In my
home.jsp
page I have this link:<li> <a id="byParameter" class="textLink" href="<c:url value="/mapping/parameter?foo=bar" />">By path, method, and presence of parameter</a> </li>
As you can see by this link I am doing an HTTP GET Request having a "foo" parameter containing the value: "bar".
This HTTP Request is handled by the following method of the controller class MappingController:
@RequestMapping(value="/mapping/parameter", method=RequestMethod.GET, params="foo") public @ResponseBody String byParameter() { return "Mapped by path + method + presence of query parameter! (MappingController)"; }
This method manage HTTP Request (only
GET
type) that have a parameter named "foo"How can I take the value ("bar") of this parameter and put it in a variable inside the code of my by Parameter method?
-
Count almost 10 yearsIn case when there are 10 number of parameters, do we have to do this 10 times or there is a better way for thar scenario
-
JB Nizet almost 10 years@Count: click the link I gave to the documentation, then scroll up a little until the paragraph "Supported method argument types", and read the part about "Command or form objects"