Spring Boot Request Parameters
Contents
Request Parameter
Testing with http://localhost:8080/params/1/Nico
@RestController @RequestMapping("/params") public class ParameterController { @RequestMapping(value="/{id}/{name}", method=RequestMethod.GET) public Member getMethod(@PathVariable int id, @PathVariable String name) { // @PathVariable http://localhost:8080/params/1/Nico Member member = new Member(); member.setId(id); member.setName(name); return member; } }
1 is id, Nico is name. We can receive URL parameter with @PathVariable
Query Parameter
Testing http://localhost:8080/params/query?id=1&key=value&name=Kotori&age=17
@RestController @RequestMapping("/params") public class ParameterController { @RequestMapping(value="/query", method=RequestMethod.GET) public void queryMethod(@RequestParam String id, @RequestParam Map<String, String> queryParameters, @RequestParam MultiValueMap<String, String> multiMap) { System.out.println("id=" + id); System.out.println(queryParameters); System.out.println(multiMap); } }
We can get query parameters with @RequestParam Map
Header
Testing curl -H “Test: Hello” http://localhost:8080/params/header (Mac OS X)
@RestController @RequestMapping("/params") public class ParameterController { @RequestMapping(value="/header", method=RequestMethod.GET) public void getHeadder(@RequestHeader("Test") String value) { System.out.println("Test Header:" + value); } }
@RequestHeader(“Headername”)
POST BODY
Testing curl http://localhost:8080/params/body -X POST -d “Test” (Mac OS X)
@RestController @RequestMapping("/params") public class ParameterController { @RequestMapping(value="/body", method=RequestMethod.POST) public void getBody(@RequestBody String body) { System.out.println("body:" + body); } }
@RequestBody