我正在使用spring-boot
并想要整合简单的REST
服务,如下所示。
@Controller
@RequestMapping("/content")
public class MyServiceRest extends SpringBeanAutowiringSupport {
@RequestMapping(method = RequestMethod.GET)
public String test() {
return "OK";
}
}
结果:两个localhost:8080/<app-name>/services/content
结果"No service was found."
。为什么呢?
我是否必须以某种方式明确发布服务?
也许是因为我的调度员servlet?
@Bean
public ServletRegistrationBean dispatcherServletRegistration() {
ServletRegistrationBean registration = new ServletRegistrationBean(new CXFServlet(), "/services/*");
registration.setName(DispatcherServletAutoConfiguration.DEFAULT_DISPATCHER_SERVLET_REGISTRATION_BEAN_NAME);
return registration;
}
答案 0 :(得分:1)
由于您使用的是Spring Boot,因此请确保通过添加正确的注释来正确设置应用程序。例如,
@EnableAutoConfiguration
@EnableWebMvc
@Configuration
@ComponentScan
/*
* Application Setups using Spring boot.
*/
public class Application{
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
@ EnableWebMvc
是使用Spring MVC和Spring启动时添加的注释。
然后,您可以像在问题中一样定义控制器。
答案 1 :(得分:1)
源代码
https://drive.google.com/open?id=0BzBKpZ4nzNzUWmJmOTFwbTFjWWM
使用Swagger
http://localhost:7070/swagger-ui.html#/
**干杯*
答案 2 :(得分:0)
您还应该为方法添加网址映射
@RequestMapping(method = RequestMethod.GET,value =“url_here”, 尝试
@RequestMapping(method = RequestMethod.POST, value = "/",
答案 3 :(得分:0)
将包含控制器类的包添加到主类中的@Component
扫描,例如:@ComponentScan( basePackages = { "your.package.with.controller" } )
,当spring没有初始化(不知道)控制器时会发生这种情况
答案 4 :(得分:0)
在我目前正在使用的最新版Spring Boot中,Web服务的地址为Error
at new ValidationError (/project/node_modules/tv4/tv4.js:1461:12)
at ValidatorContext.createError (/project/node_modules/tv4/tv4.js:359:14)
at ValidatorContext.validateType (/project/node_modules/tv4/tv4.js:751:14)
at ValidatorContext.validateBasic (/project/node_modules/tv4/tv4.js:721:19)
at ValidatorContext.validateAll (/project/node_modules/tv4/tv4.js:599:19)
at ValidatorContext.validateArrayItems (/project/node_modules/tv4/tv4.js:947:21)
at ValidatorContext.validateArray (/project/node_modules/tv4/tv4.js:880:11)
at ValidatorContext.validateAll (/project/node_modules/tv4/tv4.js:602:11)
at Object.api.validate (/project/node_modules/tv4/tv4.js:1573:24)
at Object.<anonymous> (tv4-test.js:20:17)
此外,我用于启动服务的类如下所示:
http://localhost:8080/content
答案 5 :(得分:0)
截至当前spring-boot.1.5.6
,无需使用cxf
。
只需将@RestController
与@GetMapping
一起使用即可,并乐意访问localhost:8080/content
。