从属性中输入客户端和名称

时间:2017-04-05 11:55:34

标签: java spring rest feign

我有这样的感觉,

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

我有编译错误,如

  

java.lang.IllegalStateException:服务ID不合法主机名($ {airport.service.name})

问题是如何将主机名格式applciation.yaml传递给FeignClient?

3 个答案:

答案 0 :(得分:1)

使用feign.client.config.airport-service.name,并在属性或yml中配置。 见https://github.com/spring-cloud/spring-cloud-openfeign/blob/master/docs/src/main/asciidoc/spring-cloud-openfeign.adoc

答案 1 :(得分:0)

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

<h1 onClick={()=> this.setState({ displayedComponent : Carousel})
*Here I would like to add something like document.getElementByClass('myMenu').style.position= 'absolute'* }> No mad Life </h1>

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

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

答案 2 :(得分:0)

尽管已经很晚了,但由于我在春季云中使用伪装客户端时遇到此异常(java.lang.IllegalStateException:服务ID不是合法的主机名),所以我正在更新答案。 根本原因是伪装客户不接受分数低于的服务名称,请通过以下链接访问。为了解决此问题,我使用假冒(school-service)而不是understore(school_service)重命名了假冒客户要使用的服务名称

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