过去一年我一直在Sping Boot 中使用Java微服务,但是我从来没有直接使用过API,所以我决定创建自己的API,我将在服务中实现它,也就是说在不同的项目中。
所以我想也许这就是我的错误所在?没有实现我就不能创建API?我是不是被迫在这个项目中实现API(我不认为这是答案)
正如您在标题中看到的,我的服务接口和配置类中的Bean有问题。
我得到的错误如下
com.project.shareitAPI.api.controller.AlumnController中的字段“校友服务”需要类型为“com.project.shareitAPI.api.service.AlumnService”的Bean,但找不到该Bean。
进样点具有以下注解:- @org.springframework.beans.工厂.注解.自动连线(必需=真)
行动:
考虑在配置中定义一个类型为“com.project.shareitAPI.api.service.AlumnService”的bean。
我有一个这样的服务接口
@Service
public interface AlumnService {
AlumnDTO postNewAlumn(AlumnDTO body);
}
A控制器
@RestController
@RequestMapping("api/v1/alumns")
@Slf4j
public class AlumnController {
@Autowired
AlumnService alumnService;
@PostMapping(path = "/new")
public ResponseEntity<AlumnDTO> postNewAlumn(
@RequestBody AlumnDTO body
) {
return ResponseEntity.ok(alumnService.postNewAlumn(body));
}
}
这是一个配置类,其中包含请求的@Bean,但我知道这是不正确的。
@Configuration
public class ShareItConfiguration {
@Bean
AlumnService alumnService(){
return new AlumnService() {
@Override
public AlumnDTO postNewAlumn(AlumnDTO body) {
return null;
}
};
}
}
也许我不理解API是如何工作的或者是如何构造的,但是它应该是怎样的呢?因为我不理解错误。
谢谢你的帮助和知识!
编辑
如果您需要了解,下面是项目结构
Project Structure
1条答案
按热度按时间8xiog9wr1#
您的“ShareItConfiguration”类是否与用@SpringBootApplication注解的类在同一个包中(或下面的包)?