一、RESTful風格接口案例
REST是Representational State Transfer的縮寫,是一種設計風格而非標準,可以看做一種架構模式。RESTful接口是一種基於這種風格的接口,可以對網絡資源進行CRUD操作。下面以一個用戶管理系統為例:
GET /users 獲取用戶列表
POST /users 新增一個用戶
GET /users/{id} 獲取一個用戶的信息
PUT /users/{id} 修改一個用戶的信息
DELETE /users/{id} 刪除一個用戶
使用GET方法可以獲取用戶列表,POST方法可以新增一個用戶等。其中{id}表示動態參數,可替換為具體的用戶id。
二、RESTful接口怎麼實現
實現RESTful接口,需要滿足以下條件:
1. 使用HTTP請求方法來表示對資源的操作
2. 網絡資源的地址使用URI來表示
3. 使用JSON、XML等格式來傳輸數據
比如:
GET /users/1 獲取id為1的用戶信息
PUT /users/1 修改id為1的用戶信息
其中,使用GET方法獲取id為1的用戶信息,通過/users/1可以獲取到具體的資源。使用PUT方法更新id為1的用戶信息,同樣需要向/users/1地址發送修改後的用戶數據。
三、RESTful接口使用實例
下面是一個基於Node.js的RESTful接口實例。
1. 安裝依賴
npm install express body-parser --save
2. 創建服務器文件index.js
// 引入express模塊
const express = require('express')
const bodyParser = require('body-parser')
const app = express()
// 配置body-parser中間件
app.use(bodyParser.urlencoded({extended: false}))
app.use(bodyParser.json())
// 定義接口
const users = [
{id: 1, name: '張三'},
{id: 2, name: '李四'},
{id: 3, name: '王五'}
]
// 獲取用戶列表
app.get('/users', (req, res) => {
res.json(users)
})
// 新增一個用戶
app.post('/users', (req, res) => {
const {id, name} = req.body
users.push({id, name})
res.json({msg: '添加成功'})
})
// 獲取一個用戶的信息
app.get('/users/:id', (req, res) => {
const user = users.find(item => item.id === parseInt(req.params.id))
if (user) {
res.json(user)
} else {
res.json({msg: '該用戶不存在'})
}
})
// 修改一個用戶的信息
app.put('/users/:id', (req, res) => {
const user = users.find(item => item.id === parseInt(req.params.id))
if (user) {
user.name = req.body.name
res.json({msg: '修改成功'})
} else {
res.json({msg: '該用戶不存在'})
}
})
// 刪除一個用戶
app.delete('/users/:id', (req, res) => {
const index = users.findIndex(item => item.id === parseInt(req.params.id))
if (index !== -1) {
users.splice(index, 1)
res.json({msg: '刪除成功'})
} else {
res.json({msg: '該用戶不存在'})
}
})
// 啟動服務器
app.listen(3000, () => console.log('Server started...'))
3. 測試接口
打開POSTMAN等工具,進行接口測試。
// 獲取用戶列表
http://localhost:3000/users
// 新增一個用戶
http://localhost:3000/users
// body參數
{
"id": 4,
"name": "趙六"
}
// 獲取一個用戶
http://localhost:3000/users/1
// 修改一個用戶
http://localhost:3000/users/1
// body參數
{
"id": 1,
"name": "張三2"
}
// 刪除一個用戶
http://localhost:3000/users/4
四、RESTful接口開發注意事項
1. URI中不應該包含動詞,動詞應該在HTTP請求方法中體現。
2. URI中應該使用名詞和名詞短語,而不是動詞或動詞短語。
3. 使用HTTP狀態碼來表示請求結果,例如200表示成功,400表示請求參數錯誤,404表示請求資源不存在等。
4. 使用JSON、XML等格式數據傳輸數據。
5. 盡量使用URI模板,而不是在URI中使用動態參數。
RESTful接口是一種非常實用的API設計風格,可以提高API的可讀性和可維護性。通過Node.js等工具,可以輕鬆實現RESTful接口。
原創文章,作者:PMAWF,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/313239.html