개발자
안녕하세요 백엔드를 시작한지 얼마안된 3개월차 개발자입니다 다른게아니라 스프링부트를 사용중인데 컨트롤러가 두개 있습니다 a라는 컨트롤러에서 작업이 끝나면 거기서 b컨트롤러에 있는 함수를 호출하고싶은데 방법을 잘 모르겠습니다 mvc패턴이지만 컨트롤러와 서비스와 데이터만 존재하고 뷰는 존재하지않습니다ㅜㅜ 혹시 어떻게 해결해야할지 방향을 아시는 분이 있으시다면 도와주실수있으신가요ㅠㅠ??꼭 해결하고싶습니다ㅜㅜ
답변 3
안녕하세요. 지나는 길에 도움이 될만한 링크 하나 드리고 갈게요. 두 작업은 연관되어 있기에 가능한 하나의 요청에서 처리하는게 제일 나을것 같지만 현재 상황에서 문제를 해결하시려면 redirect 와 flash attribute 를 활용하시면 됩니다! https://www.baeldung.com/spring-redirect-and-forward
저라면, b컨트롤러에 있는 함수를, 다른 공통의 위치로 분리해내고, a컨트롤러와 b컨트롤러에서 모두 활용하는 방식으로 접근할 것 같습니다. (서비스쪽으로 함수를 빼도 될 텐데, 아마 컨트롤러 역할에 걸맞는 함수이기 때문에 그 방향으로는 생각치 않으신 것 같습니다) 그렇다면, a와 b컨트롤러가 공통으로 상속받는 상위 클래스나, 구현할 인터페이스를 추려내고, 그 위치에 해당 함수를 이동해서 쓰면 어떨까 싶네요.
삭제된 사용자
2022년 10월 17일
뷰 없이 컨트롤러만 있는 프로젝트라면 사용자가 이용할 환경이 아니라 프로그램이 내부적으로 활용할 환경 같네요 1. 정말 급하시면 필요한 함수 코드를 복사 붙여넣기 하는 것도 방법입니다 어지간하면 작동할거고 일단 급한 불을 꺼야 하면 이렇게라도... 2. 여유가 있다면 프로젝트 내부에서 컨트롤러들이 공통으로 사용할 수 있는 구간으로 해당 함수를 옮겨주어야 합니다 윗 분들 답변처럼요
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!