我正在尝试使用 Spring Cloud 来使用 Cloud Foundry 应用程序中的通用 REST 服务。
该服务是使用Spring Boot创建的,如下:
package com.something;
@RestController
public class DemoServiceController {
@RequestMapping("/sayHi")
public String sayHi() {
return "Hello!";
}
}
这工作正常 - 我可以访问http://www.example.com/srv/demo/sayHi
并得到“你好!”后退。
接下来,我使用 CF-CLI 创建了一个用户提供的服务实例并将其绑定到我的应用程序。我现在可以看到绑定的服务VCAP_SERVICES
.
cf cups my-demo-service -p '{"url":"http://www.example.com/srv/demo/"}'
cf bs my-demo-app my-demo-service
接下来,如所描述的here https://github.com/spring-cloud/spring-cloud-connectors/tree/master/spring-cloud-spring-service-connector#connecting-to-generic-services-1,我将此 bean 添加到我的应用程序的 Spring 配置中,其中connector-type
设置为我原来的控制器(我也有对它的引用)。
<cloud:service id="myDemoService"
service-name="my-demo-service"
connector-type="com.something.DemoServiceController"
/>
现在当我自动接线时"myDemoService"
进入我的应用程序,
@Autowired
private DemoController myDemoService;
我收到错误:
找不到指定类型的服务。
我已确保包含所有必需的依赖项,包括spring-cloud-spring-service-connector
and spring-cloud-cloudfoundry-connector
.
这里出了什么问题?我是否给出了错误的 bean 参数?任何帮助深表感谢。