{
"name": "handcream",
"price": 15000,
"description": "촉촉해요"
}
1. 쿼리 스트링 (Query String)
주소에 데이터를 key=value 형태로 붙여 전달하는 방식.
http://localhost:8080/products?name=_____
value의 이름으로 쿼리스트링이 날라온다.
@RequestMapping(value = "/product", method = RequestMethod.POST)
public void saveProduct(@RequestParam(value="name") String productName){
productService.saveProduct(productName);
}
특징
- @RequestParam 사용
- 간단한 데이터 전송에 적합
2. 경로 변수 (Path Variable)
주소의 일부에 데이터를 포함시키는 방식.
http://localhost:8080/products/{id}
@GetMapping("/products/{id}")
public Product getProduct(@PathVariable Long id) {
return productService.getProductById(id);
}
특징
- @PathVariable 사용
- 리소스 식별자(ID 등)를 전달할 때 주로 사용
3. body에 데이터를 받아오는 방법 (Request Body)
JSON 형태로 body에 데이터를 담아 전달하는 방식.
JSON = JavaScript Object Notation
JSON 형태 = key-value 형태
// 예시 JSON
product = {
name: "handcream",
price: 15000,
description: "촉촉해요"
}
@PostMapping("/products")
public void saveProduct(@RequestBody ProductDto productDto) {
productService.saveProduct(productDto);
}
특징
- @RequestBody 사용
- 여러 데이터를 함께 보낼 때 적합
안에 있는 데이터 부를 때
product.name
product.price
// JSON 데이터 접근 예시 (자바스크립트)
var product = {
name: "handcream",
price: 15000,
description: "촉촉해요"
};
console.log(product.name); // handcream
console.log(product.price); // 15000