使用Node.js编写RESTful API接口需要以下步骤:
- 初始化项目
npm init
- 安装必要的依赖
以下是常用的依赖:
- express:用于创建服务器和路由处理
- body-parser:解析请求参数
- cors:处理跨域请求
执行以下命令安装:
npm install express body-parser cors --save
- 编写代码
app.js:
const express = require('express')
const bodyParser = require('body-parser')
const cors = require('cors')
const app = express()
app.use(bodyParser.json())
app.use(cors())
app.get('/api', (req, res) => {
res.json({ message: 'Hello World!' })
})
app.post('/api/login', (req, res) => {
const { username, password } = req.body
if (username === 'admin' && password === 'admin') {
res.json({ message: 'Login success!', token: '123456' })
} else {
res.status(401).json({ message: 'Incorrect username or password.' })
}
})
app.listen(3000, () => console.log('Server started on port 3000.'))
以上代码定义了一个基本的API,包括一个GET请求和一个POST请求,分别返回JSON数据和处理请求参数。
- 启动服务器
在命令行中执行以下命令:
node app.js
- 测试API
用浏览器或Postman等工具打开 http://localhost:3000/api
和 http://localhost:3000/api/login
地址,如果能正确返回预期结果,则说明API已经正常启动。
以下是一个用React写的示例:
import React, { useState } from 'react'
function App() {
const [username, setUsername] = useState('')
const [password, setPassword] = useState('')
const handleLogin = async () => {
const url = 'http://localhost:3000/api/login'
const response = await fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ username, password })
})
const data = await response.json()
console.log(data)
}
return (
<div>
<input value={username} onChange={e => setUsername(e.target.value)} />
<input value={password} onChange={e => setPassword(e.target.value)} />
<button onClick={handleLogin}>登录</button>
</div>
)
}
export default App
以上代码提供了一个登录表单,提交表单请求http://localhost:3000/api/login
地址来验证账号密码。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用Node编写RESTful API接口的示例代码 - Python技术站