spring boot(3)-Rest介面
阿新 • • 發佈:2019-02-20
jsp技術已經不再推薦,現在更加流行前後端分離,即靜態html+ rest介面(json格式),具體原因本篇不討論,本部落格只講html+rest模式。
老版本rest
用spring mvc可以很容易的實現json格式的rest介面,以下是spring老版本的用法,在spring boot中已經自動配置了jackson
//註冊一個spring控制層bean @Controller public class HelloController { //配置方法的post請求url @RequestMapping(value= "/url",method=RequestMethod.POST) //@ResponseBody是將這個方法的返回值轉換成特定格式,預設是json @ResponseBody //user用來接收前端請求的相關傳參,比如form表單中的引數 public String hello(User user){ return "hello world"; //這個返回值就是前端ajax請求rest的返回值 } }
新版本rest
在較新的spring版本中,出了幾個新的註解,簡化了上面的用法,如下//@Controller+@ResponseBody組合,相當於在每個方法都加上@ResponseBody。 @RestController public class HelloController { //直接指定Post請求,同樣也有@GetMapping @PostMapping("/url") //@RequestBody是指請求來的引數是json請求體,以json格式來轉換到uer public String hello(@RequestBody User user){ return "hello world"; } }
前端ajax請求rest
如果要請求上面的rest介面,只需要在請求時指定url為http://localhost:8080/url,請求方法為post,傳入相應的引數,上面的方法就會向AJAX請求返回一個字串"hello world",返回值 也可以是一個java複合型別,@ResponseBody註解會自動將其轉換成json格式。