Error

[스프링부트-에러] Request method 'DELETE' is not supported @DeleteMapping

웨일파도 2024. 1. 26. 15:14
반응형

리뷰 좋아요를 취소(삭제) 하는 기능을 만들고 있다. @DeleteMapping 을 하니깐 Request method 'DELETE' is not supported 라는 에러가 뜬다. 

@DeleteMapping("/reviewlike/{uid}/{rid}")
  public void dropRlike(@PathVariable Long uid, @PathVariable Long rid) {
    rlikeService.delRlike(uid, rid);
  }

 

2024-01-26T14:57:45.272+09:00  WARN 15272 --- [io-8080-exec-10] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'DELETE' is not supported]

 

https://pika-chu.tistory.com/924

이분은 DELETE 대신에 POST방식을 써서 댓글을 삭제하셨다.

 

https://ksyy.tistory.com/255

@DeleteMapping, @PutMapping 등의 최신 매핑기능을 이용하기 위해선 코드를 추가해줘야 한다고 한다.

 

 

SpringBootApplication 클래스에 아래 코드를 추가했다.

 

* 추가한 코드

@Bean
	public HiddenHttpMethodFilter hiddenHttpMethodFilter(){
		return new HiddenHttpMethodFilter();
	}

 

* 파일 전체 코드

package org.justdrink.omdb;

import java.util.TimeZone;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
import org.springframework.web.filter.HiddenHttpMethodFilter;

@EnableJpaAuditing
@SpringBootApplication
public class OmdbApplication {

	public void timeset(){
		TimeZone.setDefault(TimeZone.getTimeZone("Asia/Seoul"));
	}

	public static void main(String[] args) {
		SpringApplication.run(OmdbApplication.class, args);
	}

	@Bean
	public HiddenHttpMethodFilter hiddenHttpMethodFilter(){
		return new HiddenHttpMethodFilter();
	}

}

 

반응형