1)在SingleFileUploadController上使用Controller,在jsp中给出正确的结果,当在SingleFileUploadController中使用RestController而不是Controller时,它不会指向jsp。为什么呢?
2)是否可以同时使用两者?
参考:
http://memorynotfound.com/spring-mvc-file-upload-example-validator/
由于
Harshal
答案 0 :(得分:4)
因为RestController适用于不转发视图的控制器。它们的返回值作为响应主体发送。
是的,可以在同一个webapp中安装Controllers和RestControllers。如果您希望控制器的某些方法返回视图,而其他一些方法返回响应主体(即在RestController中起作用),则使用@Controller
,并注释您的" REST"方法@ResponseBody
。
答案 1 :(得分:2)
回答有关@Controller和@RestController在一起的问题。
第一个控制器:
@RestController //specify that this class is a restful controller
@RequestMapping("/api")
public class RestHomeController {
第二控制器
@Controller //specify that this class is a controller
@RequestMapping("/")
public class HomeController {
答案 2 :(得分:0)
@Controller告诉api返回ModelAndView Object,它包含你的视图名,因此要查看jsp文件,而@RestController返回序列化响应。
不,你不能同时拥有它们,控制器要么用其中一个注释,但是@JB Nizet提到你可以使用@Controller和@ResponseBody为@RestController实现特定API的功能,无论如何这是自那以后使用的趋势在Spring 4之前,对RestController的支持并不存在。