SpringBoot實戰(二)Restful風格API接口

在上一篇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:對象

相關文章
相關標籤/搜索