有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java佯装客户端和来自属性的名称

我有这样的东西

@FeignClient(name = "${airport.service.name}")

我有编译错误,比如

java.lang.IllegalStateException: Service id not legal hostname (${airport.service.name})

问题是如何将主机名表单applciation.yaml传递给FaignClient


共 (3) 个答案

  1. # 1 楼答案

    您可以指定url参数,而不是名称参数:

    @FeignClient(name = "${airport.service.name}", url = "${airport.service.url}")
    

    如果需要配置路径,可以使用

     @RequestMapping(
                path = "${airport.service.path}"
      )
    
  2. # 2 楼答案

    虽然已经晚了,但我正在更新我的答案,因为我在SpringCloud中使用假客户端时遇到了这个异常(java.lang.IllegalStateException:Service id not legal hostname) 根本原因是外国客户不接受分数低于的服务名称,请通过以下链接。为了解决这个问题,我重新命名了服务名称,以便外部客户端使用hypen(学校服务),而不是understore(学校服务)

    Github link - spring-cloud-netflix - Issue Github link - spring-cloud-netflix - commit