오늘부터 본격적인 주특기인 SpringBoot가 시작됐다.
이해해야 할게 많아서 5시간짜리 강의를 12시간 동안 들었는데 전부 듣지 못하였다.
특히 PathVariable과 RequestParam이 헷갈려서 정리를 했다.
PathVariable: URL 경로의 일부를 변수로 사용하는 데에 사용되며 RESTful 한 웹 서비스에서 자주 사용된다.
//@PathVariable
public String helloRequestPath(@PathVariable String name, @PathVariable int age)
{
return String.format("Hello, @PathVariable.<br> name = %s, age = %d", name, age);
}
RequestParam: URL의 쿼리 매개변수를 사용하는 데에 사용된다.
쿼리 매개변수란 URL 뒤에 "?"를 사용하여 전달되는 키-값 쌍이다.
예를 들어 "/users?id=1"과 같은 URL이 있다면, id가 키, 1이 키 값인 쿼리 매개변수이며
&를 사용하여 여러 값을 보낼 수 있다. "/users?id=1&key=value"
// GET 방식 : 입력된 데이터가 URL의 쿼리 문자열로 URL에 포함된다.
// GET 방식은 주로 데이터를 검색하거나 조회할 때 사용된다
@GetMapping("/form/param")
@ResponseBody
// (required = false) : 변수를 포함시키지 않아도 오류가 발생하지 않게 한다.
// 포함시키지 않은 변수에는 null값이 들어간다.
public String helloGetRequestParam(@RequestParam String name, @RequestParam(required = false) int age) {
return String.format("Hello, @RequestParam.<br> name = %s, age = %d", name, age);
}
// POST 방식 : <form> 요소의 method 속성이 "post"로 설정된 경우에 사용.
// 입력된 데이터가 요청의 본문(body)에 포함되어 서버로 전송하여 전달
// name=Robbie&age=95
@PostMapping("/form/param")
@ResponseBody
public String helloPostRequestParam(@RequestParam String name, @RequestParam int age) {
return String.format("Hello, @RequestParam.<br> name = %s, age = %d", name, age);
}
}
오늘 알게된점은
PathVariable은 하나의 데이터에 대한 정보를 받아올때 적절하며
RequestParam 여러개의 값을 url에 전달할 때 사용한다.
TIL에는 작성하지 못했지만 런타임 시점에 바이트를 조작하여 클래스로 변환할 때에 코드를 넣어주는 lombok,
데이터 모델(Model), 사용자 인터페이스(View), 비즈니스 로직(Controller)으로 구분하여 코드 재사용, 유지 보수성, 개발자 간 협업을 용이하게 도와주는 MVC,
Jackson 라이브러리로 java 객체를 JSON 형태로 반환 or json 객체를 java 객체로 반환하는 ObjectMapper,
PathVariable과 RequestParam의 차이 등 여러가지를 알 수 있었다.
'Springboot' 카테고리의 다른 글
[Springboot] Security (0) | 2023.07.01 |
---|---|
[Springboot] Filter와 Spring Security (0) | 2023.06.30 |
[Springboot] login 구현 (0) | 2023.06.29 |
[Springboot] @Valid (0) | 2023.06.28 |
Springboot (0) | 2023.06.23 |