1. 程式人生 > >spring boot(3)-Rest介面

spring boot(3)-Rest介面

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格式。