해결된 질문
작성
·
623
0
안녕하세요 실습중 동작이 되지 않아서 문의드립니다.
zuul server .yml 파일 및 gradle 파일
server:
port: 8000
spring:
application:
name: my-zuul-service
zuul:
routes:
first-service:
path: /first-service/**
url: http://localhost:8081
second-service:
path: /second-service/**
url: http://localhost:8082
plugins {
id 'java'
id 'org.springframework.boot' version '2.3.9.RELEASE'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
}
group = 'com.msa'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.cloud:spring-cloud-starter-netflix-zuul:2.2.3.RELEASE'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
useJUnitPlatform()
}
localhost:8081/welcome 요청시 정상적으로 오지만
localhost:8000/first-service/welcome 요청시 404 에러떠러지고 있는데 이유를 모르겠어서 문의드립니다.
답변 1
1
안녕하세요, 이도원입니다.
오류 메시지를 보면, 서버가 작동되지 않는 다는 오류가 아니라, 404 Not Found 오류이기 때문에, zuul서버와 first-service 사이의 연결은 잘 되지 않았나 싶습니다. 다만, zuul에서 필터링 된 URI 정보가 /first-service/welcome이기 때문에, firsrt-service의 controller에서도 /first-service/welcome 이라는 GetMapping이 있어야 할 것 같습니다 만약 frist-service에 그냥 /welcome 으로만 GetMapping이 선언되었다면, 위와 같은 오류가 발생할 수 있을 것 같습니다.
감사합니다.
답변 감사합니다
확인해보니 @EnableZuulProxy 어노테이션 설정을 빼먹었네요 ㅜㅜ 감사합니다!