当前位置:   article > 正文

SpringBoot @RestController详解_springboot restcontroller

springboot restcontroller

了解@RestController我们可以先来了解一下其他几个注解

@Controller

@Controller是Spring框架提供的注解,通过它标识的类,代表控制器类(控制层/表现层)。这里控制层里面的每个方法,都可以去调用@Service标识的类(业务逻辑层),而@Service标识的类中的方法可以继续调用@Resposity标识的接口实现类(Dao层/持久层)。

@Controller用于标记在一个类上,使用它标记的类就是一个SpringMVC的Controller类,分发处理器会扫描使用该注解的类的方法,并检测该方法是否使用了@RequestMapping注解。@Controller只是定义了一个控制器类,而使用@RequestMapping注解的方法才是处理请求的处理器。@RequestMapping给出外界访问方法的路径,或者说触发路径,触发条件。

用@ResponseBody标记Controller类中的方法。把return的结果变成JSON对象返回。如果没有这个注解,这个方法只能返回要跳转的路径,即跳转的页面。有这个注解,可以不跳转页面,只返回JSON数据。

@RestController

@RestController是Spring4.0之后新增的注解。相当于@Controller+@ResponseBody合在一起的作用。

Controller类中的方法返回值,默认是JSON对象,也就是相当于@Controller里面的方法上添加了@ResponseBody,如果方法返回值,需要跳转,那么方法的返回类型必须是View或者ModelAndView。

  1. import com.example.studentsys.entiy.User;
  2. import com.example.studentsys.service.UserService;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.web.bind.annotation.PostMapping;
  5. import org.springframework.web.bind.annotation.RequestMapping;
  6. import org.springframework.web.bind.annotation.RequestMethod;
  7. import org.springframework.web.bind.annotation.RestController;
  8. import java.util.List;
  9. @RestController
  10. @RequestMapping("/user")
  11. public class UserController {
  12. @Autowired
  13. UserService userService;
  14. @PostMapping("/login")
  15. public String login(User user){
  16. return userService.login(user);
  17. }
  18. @PostMapping("/regist")
  19. public String regist(User user){
  20. return userService.regist(user);
  21. }
  22. /**
  23. * 解决查询数据库中文出现乱码问题
  24. * @return
  25. */
  26. @RequestMapping(value = "/alluser", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
  27. public List<User> findAll(){
  28. return userService.findAll();
  29. }
  30. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/580082
推荐阅读
相关标签
  

闽ICP备14008679号