@RestController
是 Spring Framework 中的一個註解,主要用於標識一個類是 RESTful 服務的控制器(Controller)。在 Spring MVC 中,通常使用 @Controller
註解來定義控制器類,而 @RestController
是 @Controller
的一個特殊版本,它結合了 @Controller
和 @ResponseBody
註解的功能。
具體來說,@RestController
註解用於標識一個類是 RESTful 服務的控制器,其作用相當於 @Controller
+ @ResponseBody
的組合。這意味著使用 @RestController
註解標識的類中的方法返回的資料會直接寫入 HTTP 響應體中,而不會經過檢視解析器進行渲染。
基本上,如果一個 Spring MVC 控制器類主要用於返回 JSON/XML 等資料格式的 RESTful 服務,就應該使用 @RestController
註解來標識這個類,以確保返回的資料直接寫入 HTTP 響應體中。
示例程式碼如下:
javaCopy Code
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String sayHello() {
return "Hello, World!";
}
}
在上面的示例中,HelloController
類使用 @RestController
註解標識,在 sayHello()
方法上使用 @GetMapping
註解來處理 GET 請求,並返回一個字串。由於類被標記為 @RestController
,返回的字串會直接作為 HTTP 響應的內容返回給客戶端,而不會經過檢視解析器進行渲染。