500错误,将@Controller 改为 @RestController

在运行代码和注解都正常的情况下,出现下面的错误。

 代码源码:

package com.LJQ.controller;


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@Controller
public class HelloController {

    @RequestMapping(value = "/hello")
    public String hello(){
        return "hello";
    }
}

 将@Controller  改为  @RestController,重新运行,成功如下:

该控制器代码存在两个问题: 1. 重载方法名相同 控制器中的两个方法名都是 "findAll",这会导致方法重载时出现问题。应该将第二个方法名改为 "findById" 或者其他不同的名字。 2. 参数类型不匹配 第三个方法中的参数应该是一个 path variable,而不是一个 request body。应该将 "@RequestBody" 改为 "@PathVariable"。 修改后的代码如下: ```java package com.example.teacher_admin_system.controller; import com.example.teacher_admin_system.pojo.Evaluation; import com.example.teacher_admin_system.pojo.JsonResult; import com.example.teacher_admin_system.service.EvaluationService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController public class EvaluationController { @Autowired private EvaluationService evaluationService; @GetMapping("/evaluation") public JsonResult<List<Evaluation>> findAll(){ return new JsonResult<>(200,"获取所有老师的平均分和评价数量",evaluationService.findAll()); } @GetMapping("/evaluation/{id}") public Evaluation findById(@PathVariable("id") int id){ return evaluationService.findById(id); } @GetMapping("/evaluation/name/{name}") public Evaluation findByName(@PathVariable String name){ return evaluationService.findByName(name); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值