javaspring-bootrestspring-mvc

How do I retrieve query parameters in a Spring Boot controller?


I am developing a project using Spring Boot. I've a controller which accepts GET requests.

Currently I'm accepting requests to the following kind of URLs:

http://localhost:8888/user/data/002

but I want to accept requests using query parameters:

http://localhost:8888/user?data=002

Here's the code of my controller:

@RequestMapping(value="/data/{itemid}", method = RequestMethod.GET)
public @ResponseBody
item getitem(@PathVariable("itemid") String itemid) {   
    item i = itemDao.findOne(itemid);              
    String itemname = i.getItemname();
    String price = i.getPrice();
    return i;
}

Solution

  • Use @RequestParam

    @RequestMapping(value="user", method = RequestMethod.GET)
    public @ResponseBody Item getItem(@RequestParam("data") String itemid){
    
        Item i = itemDao.findOne(itemid);              
        String itemName = i.getItemName();
        String price = i.getPrice();
        return i;
    }