@Controller和@RestController的区别
2018-02-13 12:43
309 查看
@Controller和@RestController的区别
@Controller和@RestController的区别?官方文档:
@RestController is a stereotype annotation that combines @ResponseBody and @Controller.
意思是:
@RestController注解相当于@ResponseBody + @Controller合在一起的作用。
1)如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。例如:本来应该到success.jsp页面的,则其显示success.2)如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。
3)如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。
package com.jsoft.testspringmvc.controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import com.jsoft.testspringmvc.model.User; @RestController @RequestMapping("/user") public class UserController { @RequestMapping(value = "{name}", method = RequestMethod.GET) public User getUser(@PathVariable String name) { User user = new User(); user.setName(name); user.setId(1); return user; } }
结果:
相关文章推荐
- @Controller和@RestController的区别?
- Spring中@Controller和@RestController之间的区别
- @RestController与@Controller的区别
- Spring Boot中@Controller和@restController的区别
- @Controller和@RestController的区别?
- @Controller,@RestController ,@ResponseBody的区别
- @Controller和@RestController的区别?
- @Controller和@RestController的区别
- @Controller和@RestController的区别?
- @Controller和@RestController的区别
- @Controller 和@RestController 的区别
- @Controller和@RestController的区别?
- @Controller和@RestController的区别?
- @Controller和@RestController的区别?
- Spring中@Controller和@RestController之间的区别
- @Controller和@RestController的区别
- @Controller和@RestController的区别
- @Controller和@RestController的区别?
- Spring中@Controller和@RestController之间的区别
- @Controller和@RestController的区别?