티스토리 뷰

백엔드

스프링 부트 - Ambiguous mapping 오류

Kodong's blog 2025. 10. 12. 09:11

책 내용을 어느정도 따라한 후, 앱을 실행시키니, 이렇게 뜬다....

 

 

BeanCreationException 예외가 뜬 것이다...😱

그래서, 처음에는 내가 Bean을 만들기 위한 어노테이션들을 빼먹은 건가? 오타가 났나? 라고 생각했다.

하지만, Ambiguous mapping 이 문제였다..

 

즉, 

Ambiguous mapping : 같은 주소(경로)로 연결된 메서드가 둘 이상 있어서, 스프링이 누굴 써야 할지 모르겠을때의 문제!!!

 

(문제의 코드 사진)

▶ 스프링 부트는 
요청 경로(주소) + 요청 방식(GET, POST, PUT, DELETE) 이 같으면, 같은 메서드로 인식
한다.

 

그럼? 중복되지 않도록 수정하면 될 것이다 ㅋㅋㅋ.

수정 ↓ )

@RequestMapping(value = "/products", method = RequestMethod.GET)
public List<ProductDTO> findProducts(@RequestParam(required = false) String name) {
    if (name == null || name.isBlank()) {
        // name이 없으면 전체 상품 조회
        return simpleProductService.findAll();
    } else {
        // name이 있으면 이름 포함 검색
        return simpleProductService.findByNameContaining(name);
    }
}

// +) isBlank() : 안에 글자가 있는지 없는지 검사,
// "", " " 이면 true 반환함

하나의 메서드로 합쳤다. 

 

-----------------------------------------------

 

요즘 뭔가 생각이 많다..............

이 고민에 대해서 글을 써볼까하는 생각도 들지만 잘 모르겠다...

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG more
«   2026/08   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함