java佯装客户端和来自属性的名称
我有这样的东西
@FeignClient(name = "${airport.service.name}")
我有编译错误,比如
java.lang.IllegalStateException: Service id not legal hostname (${airport.service.name})
问题是如何将主机名表单applciation.yaml
传递给FaignClient
你可以在下面搜索框中键入要查询的问题!
我有这样的东西
@FeignClient(name = "${airport.service.name}")
我有编译错误,比如
java.lang.IllegalStateException: Service id not legal hostname (${airport.service.name})
问题是如何将主机名表单applciation.yaml
传递给FaignClient
# 1 楼答案
您可以指定url参数,而不是名称参数:
如果需要配置路径,可以使用
# 2 楼答案
虽然已经晚了,但我正在更新我的答案,因为我在SpringCloud中使用假客户端时遇到了这个异常(java.lang.IllegalStateException:Service id not legal hostname) 根本原因是外国客户不接受分数低于的服务名称,请通过以下链接。为了解决这个问题,我重新命名了服务名称,以便外部客户端使用hypen(学校服务),而不是understore(学校服务)
Github link - spring-cloud-netflix - Issue Github link - spring-cloud-netflix - commit
# 3 楼答案
使用
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