이 포스팅은 인프런 강의 중 쥬쥬님의 '쥬쥬와 함께 하루만에 시작하는 백엔드 - 스프링, 도커, AWS' 에 올라온
코드 및 사진 이미지 모두 해당 강의를 참고하였습니다.
(인프런)쥬쥬와 함께 하루만에 시작하는 백엔드 - 스프링, 도커, AWS링크
오늘은 저번에 적었던 요구사항 명세서를 바탕으로
Spring Boot를 사용하여 간단한 맛집 관리 API를 정의해보았다. 이 예제에서는 RESTful한 구조를 따라 맛집의 정보를 가져오거나, 수정, 삭제하는 등의 다양한 기능을 제공한다.
@GetMapping("/restaurants")
public String getRestaurants(){
return "This is getRestaurants";
}
이 API는 모든 맛집 리스트를 가져오는 역할을 한다. http://localhost:8080/restaurants 경로로 요청을 보내면, 서버는 등록된 모든 맛집 정보를 반환하게 된다. 현재는 단순한 문자열을 반환하지만, 실제 응용에서는 데이터베이스에 저장된 맛집 리스트를 JSON 형식으로 반환하게 된다.
@GetMapping("/restaurant/{restaurantId}")
public String getRestaurant(
@PathVariable Long restaurantId
){
return "This is getRestaurant" + restaurantId;
}
이 API는 특정 맛집의 상세 정보를 가져오는 역할을 한다. restaurantId라는 경로 변수를 통해 원하는 맛집의 고유 ID를 받아, 해당 맛집의 정보를 반환한다. 예를 들어, http://localhost:8080/restaurant/1 요청을 보내면, ID가 1인 맛집의 정보를 반환하게 된다.
@PostMapping("/restaurant")
public String createRestaurant(){
return "This is createRestaurant";
}
맛집을 새로 생성할 때 사용하는 API다. http://localhost:8080/restaurant 경로로 요청을 보내면, 새로운 맛집 정보가 서버에 저장된다. 실제 구현에서는 요청 본문에 맛집의 세부 정보를 담아 서버로 전송하며, 서버는 이 정보를 기반으로 새로운 맛집을 데이터베이스에 저장하게 된다.
@PutMapping("/restaurant/{restaurantId}")
public String editRestaurant(
@PathVariable Long restaurantId
){
return "This is editRestaurant" + restaurantId;
}
이 API는 이미 등록된 맛집의 정보를 수정하는 기능을 제공한다. PUT /restaurant/{restaurantId} 경로로 요청을 보내고, 수정할 데이터를 함께 전송하면, 서버는 해당 맛집의 정보를 업데이트한다. 이때 restaurantId는 수정할 맛집의 고유 ID를 지정한다.
@DeleteMapping("/restaurant/{restaurantId}")
public String deleteRestaurant(
@PathVariable Long restaurantId
){
return "This is deleteRestaurant" + restaurantId;
}
맛집을 삭제하는 기능을 제공하는 API다. DELETE /restaurant/{restaurantId} 경로로 요청을 보내면, 해당 ID를 가진 맛집이 데이터베이스에서 삭제된다.