cso6005 / TIL-Troubleshooting

배움 기록 및 트러블 슈팅 정리
0 stars 0 forks source link

axios PATCH 요청 시, 발생한 에러 #57

Open cso6005 opened 1 year ago

cso6005 commented 1 year ago

문제

"JSPs only permit GET, POST, or HEAD. Jasper also permits OPTIONS"

원인

JSP 페이지에서는 기본적으로 GET, POST, HEAD 메서드만 허용되며, 다른 메서드를 사용하려고 할 때 이러한 에러가 발생할 수 있다.

PATCH 요청에서 바로 JSP 페이지로 뷰를 렌더링 하는 것은 일반적으로 권장되지 않는 방식이다.

PATCH 요청은 주로 데이터 업데이트와 관련이 이으며, 일반적으로 JSON 또는 다른 데이터 형식으로 응답을 보내는 것이 더 적합하다.

해결

클라이언트 JS에서 AJAX 요청을 통해 PATCH 요청을 보낸다. Controller 에서 Patch 로 받아 처리하고, 업데이트된 결과나 처리 성공 여부에 따라 적절한 응답을 한다.

뷰리졸버에게 JSP를 렌더링하도록 하는 게 아니라, 처리 성공 여부를 ResponseEntity 로 보낸다.

그리고 이를 요청한 JS AXIOS에서 받아, 서버의 응답을 기반으로 특정 페이지로 리다이렉션 or 페이지 내 화면을 업데이트 or 에러 메시지를 표시하거나 등 동작을 수행하도록 한다.