springboot正常启动后访问不到controller层的接口

一、启动类未扫描controller目录

解决办法:
启动类添加包扫描路径,如:

@SpringBootApplication(scanBasePackages = {“com.xxx.controller”})

二、启动类包路径异常

解决办法:

启动类与controller目录保持在同一层级

三、controller类未添加注解

解决办法:

controller类上加@RestController注解(即@Controller @ResponseBody的组合注解)

四、application.yml关闭了web服务

检查application.yml文件是否存在如下配置:

spring:
  main:
    web-application-type:
      none

解决办法:
删除 web-application-type配置,默认采用SERVLET模式,

spring:
#  main:
#    web-application-type:
#      none

也可根据项目需要选择:

NONE : 非 web 的运行环境

SERVLET : 普通 web 的运行环境

REACTIVE : 响应式 web 的运行环境

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Spring Boot中,Controller之间的调用可以通过注入调用或使用RestTemplate进行 HTTP 请求调用两种方式实现。 1. 注入调用:在Controller类中注入其他Controller类的实例,即可在当前Controller类中调用其他Controller中的接口。注入方式一般通过@Autowired或@Resource注解实现。例如: ```java @RestController @RequestMapping("/user") public class UserController { @Autowired private OrderController orderController; @GetMapping("/{userId}/order") public String getUserOrder(@PathVariable Long userId) { String order = orderController.getOrder(userId); return "User: " + userId + ", Order: " + order; } } ``` 2. HTTP请求调用:在Controller中使用RestTemplate实现HTTP请求调用其他Controller中的接口。RestTemplate是Spring框架提供的基于HTTP协议的客户端工具,可以用来调用RESTful服务。例如: ```java @RestController @RequestMapping("/order") public class OrderController { @Autowired private RestTemplate restTemplate; @GetMapping("/{userId}") public String getOrder(@PathVariable Long userId) { String userUrl = "http://localhost:8080/user/" + userId; String user = restTemplate.getForObject(userUrl, String.class); return "Order for User " + user; } } ``` 需要注意的是,如果在同一个Spring Boot应用程序中,使用注入调用需要确保被注入的Controller类被声明为bean,否则会出现NullPointerException异常;而使用HTTP请求调用可以直接调用其他Controller类的接口,无需担心依赖关系。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值