springboot Restful風格Controller層方法引數
阿新 • • 發佈:2018-12-29
@RestController @RequestMapping(value = "/users") public class UserController { /** * 建立執行緒安全的Map */ static Map<Long, User> users = Collections.synchronizedMap(new HashMap<Long, User>()); @RequestMapping(value="/", method= RequestMethod.GET) public List<User> getUserList() { // 處理"/users/"的GET請求,用來獲取使用者列表 // 還可以通過@RequestParam從頁面中傳遞引數來進行查詢條件或者翻頁資訊的傳遞 List<User> r = new ArrayList<User>(users.values()); return r; } @RequestMapping(value="/", method=RequestMethod.POST) public String postUser(@ModelAttribute User user) { // 處理"/users/"的POST請求,用來建立User// 除了@ModelAttribute繫結引數之外,還可以通過@RequestParam從頁面中傳遞引數 users.put(user.getId(), user); return "success"; } @RequestMapping(value="/{id}", method=RequestMethod.GET) public User getUser(@PathVariable Long id) { // 處理"/users/{id}"的GET請求,用來獲取url中id值的User資訊 // url中的id可通過@PathVariable繫結到函式的引數中return users.get(id); } @RequestMapping(value="/{id}", method=RequestMethod.PUT) public String putUser(@PathVariable Long id, @ModelAttribute User user) { // 處理"/users/{id}"的PUT請求,用來更新User資訊 User u = users.get(id); u.setName(user.getName()); u.setAge(user.getAge()); users.put(id, u); return "success"; } @RequestMapping(value="/{id}", method=RequestMethod.DELETE) public String deleteUser(@PathVariable Long id) { // 處理"/users/{id}"的DELETE請求,用來刪除User users.remove(id); return "success"; } }