반응형

상품 수정


상품 수정 폼 컨트롤러
BasicController에 추가

수정에 필요한 정보를 조회하고, 수정용 폼 뷰를 호출한다.

 

상품 수정 폼 뷰
정적 HTML을 뷰 템플릿(templates) 영역으로 복사하고 다음과 같이 수정하자.
/resources/static/editForm.html 복사 /resources/templates/basic/editForm.html

/resources/templates/basic/editForm.html

상품 수정 폼은 상품 등록과 유사하고, 특별한 내용이 없다.

 

상품 수정 개발


상품 수정은 상품 등록과 전체 프로세스가 유사하다.

  • GET /items/{itemId}/edit: 상품 수정 폼
  • POST /items/{itemId}/edit: 상품 수정 처리



리다이렉트
상품수정은 마지막에 뷰 템플릿을 호출하는 대신에 상품 상세 화면으로 이동하도록 리다이렉트를 호출한다.

  • 스프링은 redirect:/... 으로 편리하게 리다이렉트를 지원한다.
  • redirect:/basic/items/{itemId}
    • 컨트롤러에 매핑된 @PathVariable의 값은 redirect에도 사용할 수 있다.
    • redirect:/basic/items/{itemId}{itemId}@PathVariable Long itemId의 값을 그대로 사용한다.

 

참고
리다이렉트에 대한 자세한 내용은 HTTP강의를 참고하자.

참고
HTML Form 전송은 PUT, PATCH를 지원하지 않는다. GET, POST만 사용할 수 있다.
PUT, PATCH는 HTTP API 전송시에 사용
스프링에서 HTTP POST로 Form 요청할 때 히든 필드를 통해서 PUT, PATCH 매핑을 사용하는 방법이 있지만, HTTP 요청상 POST 요청이다.

반응형