我正在尝试编写SpringBoot应用程序。但是当我尝试使用Postman访问它时,它显示Status为404并在控制台上发出警告:
WARN 6616-[[nio-8080-exec-1] o.g.jersey.internal.inject.Providers
:提供者com.cognizant.insurance.controller.RestServiceController 在SERVER运行时中注册的代码未实现任何提供程序 SERVER运行时中适用的接口。由于约束 提供程序配置问题 com.cognizant.insurance.controller.RestServiceController将是 忽略。
我的休息控制器是:
@Component
@Provider
@Controller
@RequestMapping(value="/api", produces="application/json")
public class RestServiceController {
@Autowired
private CordaRPCService cordaRPCService;
@Value(value = "${node.PartyA.rpc.hostport}")
private String nodeRpcHostAndPort;
@Value(value = "${nodename}")
private String nodeName;
CordaRPCOps rpcService = null;
String inDateFormat = "dd/MM/yyyy";
PolicyState policy;
@RequestMapping(value="/createpolicy", method=RequestMethod.GET)
public String doTradeCreditPolicy() {
return "Hello";
}
我的项目结构:
主文件:
package com.cognizant.insurance;
@SpringBootApplication
@EnableScheduling
@EnableCaching
@ComponentScan("com.cognizant.insurance")
public class Application extends SpringBootServletInitializer {
public static void main(final String[] args) {
new Application()
.configure(new SpringApplicationBuilder(Application.class))
.run(args);
}
}
答案 0 :(得分:0)
您是否有任何特殊原因需要使用--with-python
注释?如果不是,请尝试将其删除。控制器应该在没有此注释的情况下工作。
@Provider
也是如此。
这是一个通用的构造型注释,指示该类是弹簧组件。如果您使用的是@Component
,则不需要此注释。
您可以了解@Controller
和@Component
here之间的区别。