레스토랑 예약 사이트 1 - 레스토랑 관리(관리자) 레스토랑 정보 업데이트
4. 레스토랑 정보 업데이트레스토랑 업데이트 하기 위한 control 추가레스토랑 정보를 업데이트 하기 위해서는 업데이트 하고자 하는 레스토랑을 가지고 와야 한다. /restaurants경로뒤에 레스토랑 id를 붙여 요청이 들어오면 id를 이용해 레스토랑을 찾고 request body에 들어있는 정보로 레스토랑을 업데이트 한다. 업데이트 요청을 처리하기 위해 Http 메소드 중에서 patch메소드를 이용할 것이다. @PatchMapping("/restaurants/{id}")public String update(@PathVariable("id") Long id, @RequestBody Restaurant restaurant) throws Exception { restaurantService.updateRestaurant(id, restaurant.getName(), restaurant.getAddress()); return "{}";} 업데이트 요청에 대한 테스트 코드 작성@Testpublic void 레스토랑정보_업데이트() throws Exception { String JOKER = "JOKER Bar"; String Busan = "Busan"; Restaurant restaurant = Restaurant.builder() .categoryId(1L) .name(JOKER) .address(Busan) .build(); String content = objectMapper.writeValueAsString(restaurant); ResultActions resultActions = mockMvc.perform(patch("/restaurants/1004") .contentType(MediaType.APPLICATION_JSON) .content(content)); resultActions .andExpect(status().isOk()) .andDo(print()); verify(restaurantService).updateRestaurant(1004L, JOKER, Busan);} 레스토랑 업데이트를 하기 위한 Service 메소드먼저 id를 갖고 저장돼 있는 해당 레스토랑을 가져온 후 전달 받은 name값과 address값으로 업데이트 한다. 만약 해당 레스토랑이 없을 경우 RestaurantNotFoundException예외를 일으키도록 한다.