해결된 질문
작성
·
948
0
안녕하세요
Spring Cloud Gateway 프로젝트 생성 강의를 진행했는데요
제가 first-service와 second-service 그리고 api-gateway를 모두
Spring Boot 2.6.10 버전
java 11 버전
sdk도 11 로 생성했습니다.
우선 api-gateway의 application.yml 파일은 다음과 같습니다.
server:
port: 8000
eureka:
client:
register-with-eureka: false
fetch-registry: false
service-url:
defaultZone: http://localhost:8761/eureka
spring:
application:
name: apigateway-service
cloud:
gateway:
routes:
- id: first-service
uri: http://localhost:8081/ # 여기로 요청할거다.
predicates: # 조건절이다.
- Path=/first-service/** # 사용자가 이걸호출하면 위에 uri로 간다. 즉 http://localhost:8081/first-service/** 으로 간다.
- id: second-service
uri: http://localhost:8082/ # 여기로 요청할거다.
predicates: # 조건절이다.
- Path=/second-service/** # 사용자가 이걸호출하면 위에 uri로 간다.
first-service의 application.yml 파일은 다음과 같고
server:
port: 8081
spring:
application:
name: my-first-service
eureka:
client:
fetch-registry: false
register-with-eureka: false
FirstServiceController는 다음과 같습니다.
@RestController
@RequestMapping("/first-service")
public class FirstServiceController {
@GetMapping("/welcome")
public String welcome() {
return "Welcome to the First service";
}
}
또한 second-service의 application.yml은 다음과 같고
server:
port: 8082
spring:
application:
name: my-second-service
eureka:
client:
fetch-registry: false
register-with-eureka: false
SecondServiceController는 다음과 같습니다.
@RestController
@RequestMapping("/second-service")
public class SecondServiceController {
@GetMapping("/welcome")
public String welcome() {
return "Welcome to the Second service";
}
}
브라우저에
http://127.0.0.1:8081/first-service/welcome 을 입력하면 Welcome to the First service가 잘뜨고
http://127.0.0.1:8082/second-service/welcome 을 입력하면 Welcome to the Second service 가 잘 뜹니다.
그런데
http://127.0.0.1:8000/first-sevice/welcome
http://127.0.0.1:8000/second-sevice/welcome
을 입력하면 역시나 동일하게 Welcome to the ~ 가 나와야하는데
404 에러가 발생합니다... 원인이 무엇일까요?
참고로 api-gateway 서버를 먼저키고 first, second 켜보기도하고
first, second 서버 먼저 키고 api-gateway를 켜보기도했는데
상관없이 똑같은 에러가 발생합니다.
넵! 혹시 추가 질문 사항 있으시면 다시 글 남겨주세요. 바쁜 작업들이 거의 끝나서 바로 바로 확인할 수 있을거 같습니다. 감사합니다~