当前位置: 首页 > 知识库问答 >
问题:

faign不解析名称

晏德佑
2023-03-14

我正在尝试使用Spring Cloud的Open Faign调用另一个服务,但我一直得到以下回应:

{
  "timestamp": 1579015052962,
  "status": 500,
  "error": "Internal Server Error",
  "message": "auth-service: Name or service not known executing GET http://auth-service/api/v1/auth",
  "path": "/api/v1/event"
}

这是我的密码:

package com.eventmanager.events.client;

import com.eventmanager.events.client.mappings.Auth;
import com.eventmanager.events.config.CustomFeignClientConfig;
import com.eventmanager.events.responses.Response;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestHeader;

@FeignClient(name = "auth-service", configuration = CustomFeignClientConfig.class)
public interface AuthClient {
  @GetMapping("/api/v1/auth")
  public Response<Auth> getLoggedUser(@RequestHeader(value = "Authorization") String authorization);
}

我已将Faign配置为使用OkHttp客户端,但我不确定它是否对错误负责:

package com.eventmanager.events.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import feign.okhttp.OkHttpClient;

@Configuration
public class CustomFeignClientConfig {
  @Bean
  public OkHttpClient client() {
    return new OkHttpClient();
  }
}

共有2个答案

霍弘厚
2023-03-14

可能是因为您没有为客户端指定基本URL。

@FeignClient(name = "auth-service", configuration = CustomFeignClientConfig.class, url = "http://lcoalhost:8080")
public interface AuthClient {
  @GetMapping("/api/v1/auth")
  public Response<Auth> getLoggedUser(@RequestHeader(value = "Authorization") String authorization);
}
太叔灿
2023-03-14

如果你用的是芬奇。SR1,你可以检查一下https://stackoverflow.com/a/52727544该云版本中的ContentPath似乎存在问题。

 类似资料:
  • 我的集群运行的是KubernetesV1.18.2(calico for networking),与KubesPray一起安装。我可以从外部访问我的服务,但当它们需要相互连接时,它们就会失败(例如,当UI试图连接到数据库时)。 下面提供了以下命令的一些输出:https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resol

  • 解析至以太坊地址 ENS中最简单和最常用的函数是域名解析函数。域名可以关联多种类型的资源,其中最常见的是以太坊地址。借助ENS库,将域名解析为以太坊地址很简单: ethereum-ens var address = await ens.resolver('alice.eth').addr(); 1 web3.js var address = ens.getAddress('alice.eth');

  • 问题内容: 我一直在尝试导入以下Web服务:http : //soap.genome.jp/KEGG.wsdl和$ {JAVA_HOME} / bin / wsimport: 但出现以下错误: 问题是来自WSDL还是来自wsimport的实现?我应该使用其他工具吗? 谢谢 皮埃尔 问题答案: 我从此错误报告中发现了(显然是)解决方法:https : //netbeans.org/bugzilla/

  • 目前还没有用于链上解析的可靠库,但是ENS解析非常简单,不需要库也可以轻松完成。首先,我们定义了一些只包含必要方法的简化接口,: contract ENS { function resolver(bytes32 node) constant returns (Resolver); } contract Resolver { function addr(bytes32 node)

  • 下面是我的Faigns接口定义: 虽然这是一个请求,但是feign仍然将和放入URL而不是请求正文: 我不明白为什么

  • 以下两者之间的区别是什么: Spring的云(https://github.com/spring-cloud/spring-cloud-openfeign)和 我发现这是当我试图遵循一个教程使用openfeign@FaignClient(name=...),但是我使用的是feag而不是openfeag... 这不是一回事吗?