我是學習 Spring 的新手,我創建了一個簡單的 RestApi。現在在一些教程中,我看到控制器類有時用@Controller 注釋,而另一些則用@RestController 注釋。
任何人都可以為我澄清差異嗎?謝謝
uj5u.com熱心網友回復:
我只用了一次快速的谷歌搜索就得到了很多答案。此外,這個問題已經在另一個 SO 執行緒中得到了回答,在這里找到。
但很快總結:
@Controller用于注釋您的控制器類。使用時,@Controller您通常將其與@ResponseBody. 因此,您使用注釋您的端點方法,@ResponseBody讓 Spring 知道該特定端點期望的回傳型別。
@Controller
public ControllerClass {
@GetMapping("/greetings")
@ResponseBody
private String someEndpoint(){
return "hey";
}
}
@RestController簡單地結合@Controller和@ResponseBody。所以你不需要用@ResponseBody. 您的控制器類的單個注釋將發揮作用。端點方法的回傳型別用作回應體。
@RestController
public ControllerClass {
@GetMapping("/greetings")
private String someEndpoint(){
return "hey";
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/472562.html
