zuulproxy在spring启动应用程序中不起作用

mbyulnm0  于 2021-07-11  发布在  Java
关注(0)|答案(1)|浏览(407)

我创建了一个spring引导应用程序,它有一个微服务。现在我想直接从我在eureka服务器上注册的浏览器访问那个微服务。

类servicesinfoclient是一个微服务,其配置文件是serviceinfo.yml。
serviceinfoclient.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";
    }

}

服务信息.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文件:

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网址:


# 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

现在在运行应用程序之后 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).

我见过这么多线程,但没有一个是工作的。所以请告诉我我做错了什么。

irtuqstp

irtuqstp1#

我看不到你的eurekaserver微服务。您需要将eureka服务器创建为port:1111. 之后,您的微服务可以注册它。

相关问题