一? @RestController
? ? 1. @RestControler 是針對http的常用注解,在Spring中@RestController的作用等同于? ?????????????@Controller + @ResponseBody??梢岳斫鉃锧RestControler = @Controler +? ? ? ? ? ? ? ? ? ? ? ? ? ?@ResponseBody。
? ???????@Controler 將當(dāng)前修飾的類注入SpringIOC容器,使得從該類所在的項(xiàng)目跑起來的過程 ????????????????中,這個類就被實(shí)例化。語義化用處:聲明該類是一個Controler控制器。
? ???????@ Responsebody 簡短來說 就是類中所有的API接口返回的數(shù)據(jù),無論對方的方法中返 ????????????????回的是Map或者是其他形式的Object,它會以Json字符串的形式返回給客戶端,本人? ? ? ? ? ? ? ? ? 嘗試了一下,如果返回的是string 類型,則仍然是String。
@RestController
@RequestMapping("test")
public class SampleController {
? ? @GetMapping
? ? public Map testGet() {
? ? ? ? return new HashMap<String, String>(){{
? ? ? ? ? put("name", "springboot");
? ? ? ? }};
? ? }
? ? @GetMapping(path = "str")
? ? public String testGetStr() {
? ? ? ? return "OK";
? ? }
}
這部分代碼對于Map返回則是JSON String,對于String則仍然是String


當(dāng)將@RestController換成@Controller之后,對于/test的返回值如下圖:

從報錯可以看見,當(dāng)@Controller修飾的時候,Spring以為會返回一個View(也就是MVC中的那C)但是返回的東西卻是一個Map。
二 @Controller 注解
? ? 在一個類上添加Controler注解,表明這個類是一個控制器類,但是,單獨(dú)的@Controller注解無法讓一個類成為處理請求的處理器。
????????????????????????????。。。。。。。。。。。。。。。
參考 :https://www.cnblogs.com/yaqee/p/11256047.html
? ??????????http://www.itdecent.cn/p/6bbb5748ac83