ERROR!!!!!!!

Ajax통신할 때 리턴타입이 void인 경우

voider 2020. 10. 6. 21:40

{"readyState":4,"responseText":"","status":200,"statusText":"parsererror"}

간단한 게시판을 만드는데, 삭제 버튼 구현 중에, 자꾸 위와 같은 에러 메세지가 났다.

상태코드가 200인데 parse에러?
문제는 컨트롤러에 있었다.

    //삭제 api
    @DeleteMapping("/api/v1/posts/{id}")
    public void deletePost(@PathVariable Long id) {
        postsService.delete(id);

        //return id;
    }

이게 에러가 나던 코드다.
따로 리턴해 줄 필요가 없을 것 같아서 아무것도 반환하지 않았는데, 무언가를 반환해야만 제대로 처리되었다고 인식했다.
그래서 반환타입을 Long으로 바꾸고 파라미터로 받은 id를 리턴했더니 해결되었다.

    //삭제 api
    @DeleteMapping("/api/v1/posts/{id}")
    public Long deletePost(@PathVariable Long id) {
        postsService.delete(id);

        return id;
    }

 

왜 리턴타입을 void로 하면 에러가 날까......?