用Node编写RESTful API接口的示例代码

使用Node.js编写RESTful API接口需要以下步骤:

  1. 初始化项目
npm init
  1. 安装必要的依赖

以下是常用的依赖:

  • express:用于创建服务器和路由处理
  • body-parser:解析请求参数
  • cors:处理跨域请求

执行以下命令安装:

npm install express body-parser cors --save
  1. 编写代码

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数据和处理请求参数。

  1. 启动服务器

在命令行中执行以下命令:

node app.js
  1. 测试API

用浏览器或Postman等工具打开 http://localhost:3000/apihttp://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技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • 如何利用Vue3+Vite批量导入模块/资源

    以下是如何利用Vue3+Vite批量导入模块/资源的完整攻略: 1. 在Vite中使用批量导入 Vite是一个快速的构建工具,它通过利用现代浏览器的原生 ES 模块特性来实现快速的热重载和打包速度。Vite配合Vue3可以使用批量导入来加载模块/资源。以下是两个示例: 示例1:导入所有同一目录下的文件 在Vue3中,可以使用以下代码导入某个目录下的所有文件:…

    Vue 2023年5月28日
    00
  • ant design 日期格式化的实现

    Ant Design 日期格式化的实现 Ant Design 是蚂蚁金服开发的一套基于 React 的企业级 UI 组件库,其中包含了日期选择器和日期格式化工具。 日期格式化工具 Ant Design 中的日期格式化工具是基于 Moment.js 的 API 实现的。 Moment.js 是一个用于解析、验证、操作和显示日期以及时间的 JavaScript …

    Vue 2023年5月29日
    00
  • vue如何动态给img赋值

    下面是对于”Vue如何动态给img赋值”的完整攻略。 使用v-bind绑定img src属性 在Vue中,我们可以使用v-bind指令来动态绑定img标签的src属性。具体使用方法是:在img标签上使用v-bind指令,使用表达式绑定src属性的值,如下所示: <template> <div> <img v-bind:src=&…

    Vue 2023年5月27日
    00
  • Vue from-validate 表单验证的示例代码

    下面是Vue表单验证的示例代码攻略。 1. 安装依赖和引入相关组件 首先需要安装依赖包,包括vee-validate和vue-i18n等。这里以npm为例,执行以下命令: npm install vee-validate@next vue-i18n 然后在Vue项目入口文件中引入依赖: import { createApp } from ‘vue’; imp…

    Vue 2023年5月28日
    00
  • vue props 一次传多个值实例

    下面我将详细地讲解“Vue Props 一次传多个值实例”的完整攻略,内容将包含以下几个方面: Props 概述:介绍 Props 的概念和使用方式。 一次传多个值的方式:介绍如何同时传递多个 Props 值。 示例说明:提供两个示例说明,演示如何实现一次性传递多个 Props 值。 1. Props 概述 Props 是 Vue 组件通信的一种方式,它可以…

    Vue 2023年5月29日
    00
  • Vue2 Element Schema Form 配置式生成表单的实现

    下面是“Vue2 Element Schema Form 配置式生成表单的实现”完整攻略: 1. Vue2 Element Schema Form 简介 Vue2 Element Schema Form 是基于 Vue.js 2.x、Element UI 和 JSON Schema 构建的,通过配置式的方式生成表单的开源组件。它可以允许用户在不编写一行表单组…

    Vue 2023年5月27日
    00
  • Vue中直接操作数组索引不奏效的问题解读

    问题描述: 在Vue框架中,当我们直接操作数组中的索引时,界面上并没有实时渲染出对应的变化,而且在控制台上打印数组时,也并没有看到数组数据的变化。 原因分析: Vue框架的响应式数据更新机制,会在数据被Vue所观察时,在其内部维护一张映射表,用来记录数据和依赖该数据的组件。而这种索引方式不仅没有触发Vue的数据响应机制,也没有在原数组中新增更新记录,导致界面…

    Vue 2023年5月27日
    00
  • Vue3系列之effect和ReactiveEffect track trigger源码解析

    Vue3系列之effect和ReactiveEffect track trigger源码解析 什么是effect effect 是 Vue3 中新增的一个 API,它的作用是创建一个「响应式副作用」函数。可以把它看作一个自包含的响应式系统,它能够跟踪封装起来的响应式数据,并在数据变化时进行相关操作。 ReactiveEffect 与 track Reacti…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部