在上一篇SpringBoot實戰(一)HelloWorld的基礎上,編寫一個Restful風格的API接口:html
1.根據MVC原則,建立一個簡單的目錄結構,包括controller和entity,分別建立User對象和UserController控制器:java
User類:web
1 package com.example.demo.controller.user.entity; 2 3 public class User { 4 5 private Integer id; 6 private String name; 7 private String password; 8 private String phone; 9 10 public Integer getId() { 11 return id; 12 } 13 14 public void setId(Integer id) { 15 this.id = id; 16 } 17 18 public String getName() { 19 return name; 20 } 21 22 public void setName(String name) { 23 this.name = name; 24 } 25 26 public String getPassword() { 27 return password; 28 } 29 30 public void setPassword(String password) { 31 this.password = password; 32 } 33 34 public String getPhone() { 35 return phone; 36 } 37 38 public void setPhone(String phone) { 39 this.phone = phone; 40 } 41 }
UserControllerspring
1 package com.example.demo.controller.user.controller; 2 3 import com.example.demo.controller.user.entity.User; 4 import org.springframework.web.bind.annotation.*; 5 6 import java.util.ArrayList; 7 import java.util.List; 8 9 /** 10 * 經過RestController註解告知SpringBoot這是一個控制器類 11 * 經過RequestMapping註解說明統一處理以user開頭的URL請求 12 */ 13 @RestController 14 @RequestMapping("/user") 15 public class UserController { 16 17 /** 18 * 獲取用戶列表 19 * @return 20 */ 21 @GetMapping("/users") 22 public List<User> userList(){ 23 List<User> result = new ArrayList<User>(); 24 25 for (int i = 0; i < 3; i++) { 26 User user = new User(); 27 user.setId(i); 28 user.setName("name_"+i); 29 user.setPassword("password_"+i); 30 user.setPhone("phone_"+i); 31 result.add(user); 32 } 33 return result; 34 } 35 36 /** 37 * 獲取特定用戶 38 * @param id 39 * @return 40 */ 41 @GetMapping("/users/{id}") 42 public User getUser(@PathVariable(value="id") Integer id){ 43 44 User user = new User(); 45 user.setId(id); 46 user.setName("name_"+id); 47 user.setPassword("password_"+id); 48 user.setPhone("phone_"+id); 49 return user; 50 } 51 52 /** 53 * 添加用戶 54 * @param user 55 * @return 56 */ 57 @PostMapping("/add") 58 public String addUser(@RequestBody User user){ 59 60 return "添加成功"; 61 } 62 63 /** 64 * 修改用戶 65 * @param id 66 * @param user 67 * @return 68 */ 69 @PutMapping("/users/{id}/update") 70 public String updateUser(@PathVariable(value="id") Integer id,@RequestBody User user){ 71 return "修改爲功"; 72 } 73 74 /** 75 * 刪除用戶 76 * @param id 77 * @return 78 */ 79 @DeleteMapping("/users/{id}/delete") 80 public String deleteUser(@PathVariable(value="id") Integer id){ 81 82 return "刪除成功"; 83 } 84 }
UserController包括了經常使用的Get、Post、Put、Delete請求,並使用註解的方式說明了請求路徑app
路徑中的{id}元素是路徑參數,能夠經過@PathVariable註解獲取,具體的參數獲取與校驗會在下一篇作介紹this
使用Postman軟件驗證了全部接口都是可用的,部分截圖以下:spa
Get:code
Posthtm
Put:對象