先來講述下最簡單的使用get請求用戶信息的實現方式,代碼如下,寫好后直接在Application類點擊右鍵有個RunAs,點擊后會自動運行,運行成功后可以使用http發包工具進行測試,這里推薦使用chrome的postman或者使用firefox的httprequester插件,都是比較簡單的發包工具,get請求的上送為http://localhost:8081/springboot/getUserByGet?userName=XXX
//@RestController注解能夠使項目支持Rest @RestController @SpringBootApplication //表示該controller類下所有的方法都公用的一級上下文根 @RequestMapping(value = "/springboot") public class UserController { //這里使用@RequestMapping注解表示該方法對應的二級上下文路徑 @RequestMapping(value = "/getUserByGet", method = RequestMethod.GET) String getUserByGet(@RequestParam(value = "userName") String userName){ return "Hello " + userName; } }
這里用到的注解主要有@RequestMapping表示請求的URL上下文路徑,該路徑不能重復,為了保證與團隊其他同事寫的不重復,一般會在每個controller前面加一個一級上下文目錄,具體路徑參數放在value后面,在每個方法前加一個二級目錄,這樣可以有效的避免路徑沖突。還有注解是@RequestParam,該注解可以通過value指定入參,這里return的返回值就是實際的接口返回。
下面介紹下POST的請求方式,可以通過在@RequestMapping注解中設置method為POST來表示該請求為POST請求,除了get、post還有put、delete等請求方式,都可以通過該參數設置。
//通過RequestMethod.POST表示請求需要時POST方式 @RequestMapping(value = "/getUserByPost", method = RequestMethod.POST) String getUserByPost(@RequestParam(value = "userName") String userName){ return "Hello " + userName; }
下面介紹下請求參數為JSON格式的請求方法的寫法,這里需要注意下如果請求參數是像上面那樣通過url form形式提交的請求參數,那么必須使用@RequestParam注解來標示參數,如果使用的請求報文是POST形勢的JSON串,那么這里在入參的注解一定要使用@RequestBody,否則會報json解析錯誤。
//在入參設置@RequestBody注解表示接收整個報文體,這里主要用在接收整個POST請求中的json報文體, //目前主流的請求報文也都是JSON格式了,使用該注解就能夠獲取整個JSON報文體作為入參,使用JSON解析工具解析后獲取具體參數 @RequestMapping(value = "/getUserByJson",method = RequestMethod.POST) String getUserByJson(@RequestBody String data){ return "Json is " + data; }