Skip to content

API接口开发教程

API接口开发教程

API是前后端通信的桥梁。本文将带你入门API接口开发。

什么是API

概念理解

API(Application Programming Interface)是应用程序编程接口,用于不同系统之间的通信。

类比理解: API就像餐厅的服务员,负责传递顾客(前端)和厨房(后端)之间的信息。

API的作用

  • 前后端分离
  • 系统集成
  • 数据交互
  • 服务开放

RESTful API设计

REST原则

  • 使用HTTP动词表示操作
  • 使用名词表示资源
  • 无状态设计
  • 统一接口

HTTP方法

方法操作示例
GET查询GET /users
POST创建POST /users
PUT更新PUT /users/1
DELETE删除DELETE /users/1

URL设计

# 资源命名
GET    /users          # 获取用户列表
GET    /users/1        # 获取单个用户
POST   /users          # 创建用户
PUT    /users/1        # 更新用户
DELETE /users/1        # 删除用户

# 子资源
GET    /users/1/orders # 获取用户的订单

接口规范

请求格式

json
POST /api/users
Content-Type: application/json

{
    "name": "张三",
    "email": "zhang@example.com",
    "age": 25
}

响应格式

成功响应:

json
{
    "code": 200,
    "message": "success",
    "data": {
        "id": 1,
        "name": "张三",
        "email": "zhang@example.com"
    }
}

错误响应:

json
{
    "code": 400,
    "message": "参数错误",
    "data": null
}

状态码

状态码含义
200成功
201创建成功
400请求错误
401未授权
403禁止访问
404资源不存在
500服务器错误

接口开发实践

Node.js示例

安装依赖:

bash
npm init -y
npm install express

创建服务器:

javascript
const express = require('express')
const app = express()

// 解析JSON
app.use(express.json())

// 用户数据
let users = [
    { id: 1, name: '张三', email: 'zhang@example.com' }
]

// 获取用户列表
app.get('/api/users', (req, res) => {
    res.json({ code: 200, data: users })
})

// 获取单个用户
app.get('/api/users/:id', (req, res) => {
    const user = users.find(u => u.id === parseInt(req.params.id))
    if (!user) {
        return res.status(404).json({ code: 404, message: '用户不存在' })
    }
    res.json({ code: 200, data: user })
})

// 创建用户
app.post('/api/users', (req, res) => {
    const user = {
        id: users.length + 1,
        name: req.body.name,
        email: req.body.email
    }
    users.push(user)
    res.status(201).json({ code: 201, data: user })
})

// 更新用户
app.put('/api/users/:id', (req, res) => {
    const user = users.find(u => u.id === parseInt(req.params.id))
    if (!user) {
        return res.status(404).json({ code: 404, message: '用户不存在' })
    }
    user.name = req.body.name || user.name
    user.email = req.body.email || user.email
    res.json({ code: 200, data: user })
})

// 删除用户
app.delete('/api/users/:id', (req, res) => {
    users = users.filter(u => u.id !== parseInt(req.params.id))
    res.json({ code: 200, message: '删除成功' })
})

app.listen(3000, () => {
    console.log('Server running on port 3000')
})

接口安全

认证方式

Token认证:

javascript
// 验证中间件
function authMiddleware(req, res, next) {
    const token = req.headers['authorization']
    if (!token) {
        return res.status(401).json({ code: 401, message: '未授权' })
    }
    // 验证token...
    next()
}

app.use('/api', authMiddleware)

参数验证

javascript
function validateUser(req, res, next) {
    const { name, email } = req.body
    if (!name || !email) {
        return res.status(400).json({ code: 400, message: '参数不完整' })
    }
    next()
}

app.post('/api/users', validateUser, (req, res) => {
    // 创建用户
})

接口文档

文档内容

  • 接口地址
  • 请求方法
  • 请求参数
  • 响应格式
  • 示例

文档工具

  • Swagger
  • Apifox
  • Postman

接口测试

测试工具

  • Postman
  • curl命令
  • Apifox

curl示例

bash
# GET请求
curl http://localhost:3000/api/users

# POST请求
curl -X POST http://localhost:3000/api/users \
  -H "Content-Type: application/json" \
  -d '{"name":"李四","email":"li@example.com"}'

学习建议

学习顺序

  1. HTTP协议基础
  2. RESTful设计原则
  3. 后端框架学习
  4. 数据库操作
  5. 接口安全

实践项目

  • 用户管理API
  • 博客文章API
  • 商品管理API

替代方案

如果觉得API开发复杂,可以使用猫拽低代码平台

  • 可视化配置接口
  • 自动生成API
  • 无需编写代码
  • 快速实现数据交互

总结

API接口开发要点:

  1. RESTful设计:规范URL和HTTP方法
  2. 接口规范:统一请求响应格式
  3. 安全认证:Token验证
  4. 文档完善:便于使用和维护

掌握API开发是成为全栈工程师的重要一步。