본문 바로가기

intellij +springboot/오류정리

Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported]

에러 내용

 

11:20:35.291 [http-nio-8090-exec-8] WARN [org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver.logException:194]-

 

Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported]

 

 

 

스프링에서 컨트롤러로 맵핑할때 컨트롤러에 method방식을 명시해놓고, 그 방식으로 자료를 보내지 않으면 해당 에러를 발생시킨다.

 

이런 에러가 발생했을시에는 아래와 같이 post방식을 지원할 수 있도록 컨트롤러에 해당 메소드에 RequestMethod.POST 방식을 추가해주면 된다.

 

@RequestMapping(value = "/board/view.do", method= {RequestMethod.GET, RequestMethod.POST}) //POST방식으로도 맵핑할 수 있도록 코드를 추가하였다.
    public ModelAndView view(@RequestParam int member_bno,
            @RequestParam int curPage,
            @RequestParam String search_option,
            @RequestParam String keyword,
            HttpSession session) throws Exception{
        
        //조회수 증가 쿼리
        memberboardservice.increaseViewcnt(member_bno, session);
        
        ModelAndView mav = new ModelAndView();
        mav.setViewName("board/memberboardview");
        
        //view로 자료를 넘기기위해서 mav에 값들을 저장해서 view.jsp로 리턴시킨다.
        mav.addObject("dto", memberboardservice.read(member_bno)); //상세보기를 한번 클릭하면 조회수를 1증가시킨다.
        mav.addObject("curPage", curPage);
        mav.addObject("search_option", search_option);
        mav.addObject("keyword", keyword);
        
        return mav;     //view로 넘어가서 출력이 된다.
    }

 

 

출처 : https://dlgkstjq623.tistory.com/361