[英]ZuulProxy is not working in spring boot application
I have created a spring boot application and it has one microservice.我创建了一个 spring boot 应用程序,它有一个微服务。 Now i want to directly access that microservice from browser which I have registered with eureka server.现在我想从我在 eureka 服务器上注册的浏览器直接访问该微服务。
Class ServicesInfoClient is one microservice and its config file is serviceInfo.yml .类ServicesInfoClient是一种微服务,它的配置文件是serviceInfo.yml 。
ServiceInfoClient.java:服务信息客户端.java:
package com.myoldschool.manager.serviceClientInfo;
import com.myoldschool.manager.studentnames.StudentNameCountClient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class })
@EnableDiscoveryClient
@RestController
public class ServicesInfoClient {
public static void main(String[] args) {
System.setProperty("spring.config.name", "serviceInfo");
SpringApplication.run(StudentNameCountClient.class, args);
}
@GetMapping("/getInfo")
public String getServiceEndPoints(){
return "all endpoints";
}
}
serviceInfo.yml:服务信息.yml:
# Discovery Server Access
spring:
application:
name: services-info
eureka:
client:
registerWithEureka: true
fetchRegistry: true
serviceUrl:
defaultZone: http://localhost:1111/eureka/
instance:
hostname: localhost
# HTTP Server
server:
port: 4444 # HTTP (Tomcat) port
MyZuulProxyClient.java: MyZuulProxyClient.java:
package com.myoldschool.manager.zuulservice;
import com.myoldschool.manager.ManagerApplication;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
@EnableZuulProxy
@EnableDiscoveryClient
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class })
public class MyZuulProxyClient {
public static void main(String[] args) {
System.setProperty("spring.config.name", "zuulService");
SpringApplication.run(ManagerApplication.class, args);
}
}
zuulService.yml: zuulService.yml:
# Configure this Discovery Server
spring:
application:
name: zuul-service
eureka:
client:
registerWithEureka: false
fetchRegistry: true
serviceUrl:
defaultZone: http://localhost:1111/eureka/
instance:
hostname: localhost
# HTTP Server
server:
port: 5555 # HTTP (Tomcat) port
zuul:
routes:
services-info:
path: /services-info/**
serviceId: services-info
Now after running the application when i hit http://localhost:1111/services-info/getInfo
it gives me this error:现在,当我点击http://localhost:1111/services-info/getInfo
运行应用程序后,它给了我这个错误:
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Sun Nov 22 16:34:12 IST 2020
There was an unexpected error (type=Not Found, status=404).
I have seen so many threads but none of them is working.我见过很多线程,但没有一个有效。 So please tell me what I am doing wrong here.所以请告诉我我在这里做错了什么。
I can't see your EurekaServer microservice.我看不到你的 EurekaServer 微服务。 You need to create Eureka Server as port:1111.您需要将 Eureka 服务器创建为端口:1111。 After that, your microservices can register it.之后,您的微服务可以注册它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.