1. 程式人生 > >springboot Restful風格Controller層方法引數

springboot Restful風格Controller層方法引數


 

 
@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"; } }