인프런 커뮤니티 질문&답변

Bruce Han님의 프로필 이미지
Bruce Han

작성한 질문수

생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현

Spring Cloud OpenFeign (2)

3:40 부분 activeProfiles에 dev 출력과 로그 출력이 안 됩니다

해결된 질문

작성

·

274

1

안녕하세요.

3:40 부분에서 선생님 화면에서는 GET으로 요청하면 json으로 되어있는 activeProfiles의 값에 dev가 나옵니다.

하지만 제가 했을 때에는 GET 요청은 되지만 dev가 안 나오는데요...

제가 빠뜨린 부분이 어디인지 찾기가 쉽지 않아 질문 드립니다.

Edit Configurations에서 Active Profiles에 dev를 넣으면 GET자체를 못 하고, 빼면 역시 아무것도 안 나옵니다ㅜㅜ

봐야겠다 싶은 소스 있으면 바로 보여드리겠습니다.

Edit Configurations 현재 상태입니다.

제가 친 로그에는 [helloClient#HealthCheck] 라는 로그가 안 보입니다...ㅜㅜ

답변 2

1

구파고님의 프로필 이미지
구파고
지식공유자

안녕하세요 오류메세지를 보니까 8082 포트로 health check api를 요청하고 있네요!

FeignClient의 url을 8080으로 수정하시면 정상적으로 동작할꺼 같습니다.

@FeignClient(url = "http://localhost:8080", name = "helloClient")
public interface HelloClient {

    @GetMapping(value = "/api/health", consumes = "application/json")
    HealthCheckResponseDto healthCheck();

}

 

Bruce Han님의 프로필 이미지
Bruce Han
질문자

해결됐습니다!! ㅠㅠ 답변 감사합니다.

사실 8080을 8081로 바꿔서 사용하고 있었어요! 이거 먼저 말씀드렸어야 했는데 죄송합니다. 거기에서 8082포트는 아마 cors 연습하느라 썼던 포트였던 것 같습니다. 혹시나 해서 8082로 시험해본 결과를 캡쳐했던 것 같습니다.

현재는 8080으로 다시 맞춘 상태입니다. 8080은 톰캣 포트라 매번 taskkill 하는 게 번거로웠거든요

알고보니 yml 파일 설정에서 포트를 아마 application-dev.yml하고 그냥 application.yml에서 port 설정을 같게 했던 것 같네요. 평소에도 이런 파생 yml파일들은 미리 소스를 복붙해놓는 버릇이 있어서 그랬나봐요 ㅎㅎ;

 

참고로 HelloClient나 Dto 클래스는 따로 애노테이션 붙이는 거 없이 쭉 수업 따라가도 해결이 됐었네요 ㅎㅎ; 이상이 있는 줄 알았는데, 이 둘은 따로 이상 없었습니다

active profiles와 yml(properties)에서 서버 포트에 대해 다시 짚고 넘어가야겠네요 😅

다시 한 번 감사의 말씀 드립니다.

0

application-dev.properties 기본 포트가 8081 이어서

http://localhost:8080/api/health/feign-test 로 하면 에러가 나오지 않나요..?

구파고님의 프로필 이미지
구파고
지식공유자

dev에 있던 8081은 yml 설정(3) 강의를 보시면 3분 18초쯤에 삭제한것을 보실 수 있을겁니다!

제가 제대로 안봤었군요. 감사합니다!

Bruce Han님의 프로필 이미지
Bruce Han
질문자

제가 아마 application.yml에서는 8081로 쓰고, application-dev.yml에서 8083으로 썼을 겁니다.

즉, 8081/api/health/feign-test로 하면 나와야 되는 게 맞죠.

근데 거기서 제가 실수를 한 바람에 오류가 났던 거고요.

구파고님의 프로필 이미지
구파고
지식공유자

해결하셔서 다행이네요!

Bruce Han님의 프로필 이미지
Bruce Han

작성한 질문수

질문하기