淺談@GetMapping、@PostMapping和@RequestMapping注解的區別和使用


@GetMapping、@PostMapping和@RequestMapping的區別

  • 今天在使用FreeMarker的時候,在使用注解映射方法的時候還是比較混亂,在使用@GetMapping注解的時候,順手寫成了@RequestMapping ,但是發現還是實現了效果,兩者能相互替換,但是換成PostMapping就報:Request method ‘GET’ not supported 的錯誤!所以我就來研究了一下這三者的區別,發現還確實有聯系!

摘:Spring4.3中引進了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping},來幫助簡化常用的HTTP方法的映射,並更好地表達被注解方法的語義。

  • 我們就來談談這個三者的區別吧!

@GetMapping

用於將HTTP GET請求映射到特定處理程序方法的注釋。具體來說,@GetMapping是一個作為快捷方式的組合注釋
@RequestMapping(method = RequestMethod.GET)。

@PostMapping

用於將HTTP POST請求映射到特定處理程序方法的注釋。具體來說,@PostMapping是一個作為快捷方式的組合注釋@RequestMapping(method = RequestMethod.POST)。

@RequestMapping:

一般情況下都是用@RequestMapping(method=RequestMethod.),因為@RequestMapping可以直接替代以上兩個注解,但是以上兩個注解並不能替代@RequestMapping,@RequestMapping相當於以上兩個注解的父類!

類似的組合注解還有:
  • @PutMapping、@DeleteMapping、@PatchMapping

總結下來就是@PostMapping和@GetMapping都可以用@RequestMapping代替,如果讀者怕在映射的時候出錯,可以統一寫@RequestMapping,當然這樣寫的話也有弊端,籠統的全用@RequestMapping, 不便於其他人對代碼的閱讀和理解!還是建議區分開來寫!養成良好的代碼習慣!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM