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
