Map GET parameters to Object in Spring
It's possbile to map GET parameters to an object in Spring. It's really useful when we need to pass lots of parameters as query string e.g. submitting a search form with many parameters.
The following controller demonstrates this.
@RestController
@RequestMapping("hello")
public class MyController {
@RequestMapping(value = "data", method = RequestMethod.GET) public MyRequest getData(MyRequest request){
return request; }
public static class MyRequest {
private String name;
private int age;
public String getName(){return this.name;}
public int getAge(){return this.name;}
public void setName(String name){this.name=name;}
public void setAge(int age){this.age=age;}
}
}
Following GET request will create a MyRequest object with age=10 and name=Nayan
GET hello/data?age=10&name=Nayan
As we're sending the request object as response we'll get the following JSON from our controller method:
{
"name":"Nayan",
"age": 10
}
The following controller demonstrates this.
@RestController
@RequestMapping("hello")
public class MyController {
@RequestMapping(value = "data", method = RequestMethod.GET) public MyRequest getData(MyRequest request){
return request; }
public static class MyRequest {
private String name;
private int age;
public String getName(){return this.name;}
public int getAge(){return this.name;}
public void setName(String name){this.name=name;}
public void setAge(int age){this.age=age;}
}
}
Following GET request will create a MyRequest object with age=10 and name=Nayan
GET hello/data?age=10&name=Nayan
As we're sending the request object as response we'll get the following JSON from our controller method:
{
"name":"Nayan",
"age": 10
}
Comments
Post a Comment