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 queryParameters

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