0
如果我做調用它就像一個魅力的自動裝配Autowired RestTemplate:
得到http://localhost:18990/microservice2/(服務註冊表):春季雲+蝴蝶結+尤里卡(服務註冊)或相對URL(RELS)
{
"_links": {
"hl:echo": { "href": "http://localhost:18989/microservice2/echo?echoMessage={echoMessage}", "templated": true },
"curies":
[ {
"href": "/microservice2/generated-docs/api-guide.html#resources-{rel}",
"name": "hl",
"templated": true
}
]
}
}
從微服務1(主叫使用RestTemplate微服務2):
@Autowired
private RestTemplate restTemplate;
URI targetUrl = UriComponentsBuilder.fromUriString("http://microservice2")
.path("/microservice2/echo")
.queryParam("echoMessage", "echoMessage")
.build()
.toUri();
EchoMessageResource response = restTemplate.getForObject(targetUrl, EchoMessageResource.class);
行
功能區確實使用Eureka來到幕後的真實服務器。
如果我添加一個rel然後它不起作用。我得到一個404
FROM:
URI targetUrl = UriComponentsBuilder.fromUriString("http://microservice2")
.path("/microservice2/echo")
.queryParam("echoMessage", "echoMessage")
.build()
.toUri();
TO:
URI targetUrl = UriComponentsBuilder.fromUriString("http://microservice2")
.path("/microservice2/hl:echo")
.queryParam("echoMessage", "echoMessage")
.build()
.toUri();
EchoMessageResource response = restTemplate.getForObject(targetUrl, EchoMessageResource.class);
KO
什麼是用一個相對的方式?在我的例子中,hl:echo。
路徑'/ microservice2/hl:echo'真的能解決任何問題嗎? – spencergibb
@spencergibb:它沒有。它來自IndexController,使用ResourceSupport。例如: 'resource.add(ParameterOfControllerLinkBuilder.linkTo(methodOn(EchoController.class).doEcho(「」,null))。withRel(ECHO_REL));'但是如果RestTemplate + Ribbon + Eureka給了我一些魔力,他們應該支持我通過REL的事實。 [Spring Hateoas客戶端支持文檔在這裏](http://docs.spring.io/spring-hateoas/docs/0.19.0.RELEASE/reference/html/#client) –
然後答案是否定的,春天的雲不'對春天的仇恨一無所知。 – spencergibb