优秀的编程知识分享平台

网站首页 > 技术文章 正文

Controller和RestController注解在SpringMvc框架中的区别详解

nanyue 2024-09-03 16:18:08 技术文章 9 ℃

@RestController是SpringMvc4.0以后新加的属性,它相当于@ResponseBody + @Controller

1 在以前开发过程中,如果想要返回json数据到页面,需要在方法里面添加@ResponseBody

如下图所示

@RequestMapping(value = "/getTest", method = { RequestMethod.GET, RequestMethod.POST })

public @ResponseBody String getTest(Model model) {

return "getTestgetTestgetTestgetTestgetTestgetTestgetTest";

}

页面直接显示返回的结果

2 在Spring4.0以后,使用@RestController标注整个class

代表这个class所有的方法都是返回值或者对象到本页面,而不是结合视图解析器InternalResourceViewResolver跳转到相对于的页面

package com.example.demo;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.EnableAutoConfiguration;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication

@RestController

@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})

public class Application {

@RequestMapping(path = {"/index"}, method = {RequestMethod.GET, RequestMethod.POST})

public String index(){

return "test_index";

}

public static void main(String[] args) {

SpringApplication.run(Application.class, args);

}

}

查看页面显示结果

请大家多多关注我的头条号,谢谢大家!

最近发表
标签列表