用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日

相关文章

  • 浅析Vue 和微信小程序的区别、比较

    浅析Vue和微信小程序的区别、比较 Vue和微信小程序都是前端技术,目的都是为了提供更好的用户体验。但是Vue和微信小程序的开发、使用方式和运行环境等方面有所不同,下面将对它们进行简单的比较和分析。 开发方式 Vue和微信小程序的开发方式有很大的不同。 Vue使用Vue CLI和其他构建工具来创建和管理项目,使用Vue组件化开发,采用MVVM模式,提供更加灵…

    Vue 2023年5月27日
    00
  • vue 中this.$set 动态绑定数据的案例讲解

    下面我将详细讲解“vue 中this.$set 动态绑定数据的案例讲解”的攻略。 什么是 this.$set 在 Vue 的数据绑定中,如果数据中的某个属性值是对象或数组,并且需要动态修改其中的某个属性,而且这个属性还需要双向绑定,那么 Vue 提供的双向绑定语法可能会失效。这时,就需要使用 this.$set 来动态绑定数据。 this.$set 是 Vu…

    Vue 2023年5月28日
    00
  • vue proxy 的优势与使用场景实现

    Vue Proxy是什么? Vue Proxy是Vue.js提供的一种代理服务器。我们可以使用代理服务器来将网络请求转发到其他URL上,同时也可以拦截请求并对其进行一系列的处理。Vue Proxy的原理是使用Webpack Dev Server实现的。 Vue Proxy的配置需要在webpack的配置文件中进行定义。在使用Vue CLI构建Vue.js项目…

    Vue 2023年5月27日
    00
  • Vue.js每天必学之计算属性computed与$watch

    下面是详细讲解 Vue.js 中计算属性 computed 与 $watch 的攻略。 计算属性 computed 概念 计算属性是一种带有缓存功能的属性,它依赖于其它属性值,并且其返回值会根据这些被依赖的值变化而改变。计算属性除了需要响应式依赖,还可以拥有自己的缓存,只要它所依赖的属于没有发生改变,那么多次读取该计算属性时,只会进行一次计算。 用法 我们可…

    Vue 2023年5月29日
    00
  • Vue.js标签页组件使用方法详解

    简述Vue.js标签页组件的作用和功能 Vue.js标签页组件是Vue.js框架中一种用于实现标签页切换功能的组件。它能够方便地实现标签页的切换功能,并支持动态添加或删除标签页的功能。 安装Vue.js标签页组件 Vue.js标签页组件可通过npm或yarn进行安装,如下所示: npm install vue-tabs-component –save ya…

    Vue 2023年5月29日
    00
  • vue中同时监听多个参数的实现

    当我们需要监听多个参数时,可以使用$watch或computed来实现。 使用$watch监听多个参数的实现 我们可以使用$watch来监听多个参数的变化,具体实现可以参考以下步骤: 在Vue实例的data中定义需要监听的参数。 data() { return { param1: ”, param2: ”, param3: ” } } 在Vue实例中定…

    Vue 2023年5月28日
    00
  • 利用Vue构造器创建Form组件的通用解决方法

    那么现在开始讲解“利用Vue构造器创建Form组件的通用解决方法”的攻略。 为什么要利用Vue构造器创建Form组件 在Vue的组件开发过程中,我们经常会遇到需要创建Form表单的情况。虽然Vue提供了v-model和表单元素等一系列让表单操作变得方便的指令,但是对于大型的表单,尤其是需要复用的表单而言,我们发现通过模板编写的方式重复性非常高,会导致代码的冗…

    Vue 2023年5月28日
    00
  • vue.js实现只能输入数字的输入框

    实现只能输入数字的输入框可以通过如下步骤来完成: 步骤一:定义只允许输入数字的指令 在Vue.js中,我们可以通过定义指令来限制输入框的输入内容。下面是一个自定义的v-only-number指令,它可以确保输入框只接受数字: <template> <div> <input v-only-number type="tex…

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