Skip to content

vercel部署serverless

  • 约定:vercel 约定在根目录下 api文件夹 下创建接口路径,也就是说一个接口就是一个js/ts文件,比如,创建api/getUserInfo.js文件,那么浏览器在请求的时候的地址就是 vercel提供的二级域名/api/getUserInfo?name=zhangsan

  • 接口类型一:js文件

    js
    export default function getUserInfo(request, response) {
      const { name } = request.query
      response.status(200).send(`Hello ${name}!`)
    }
  • 接口类型二:ts文件

    shell
    npm i -D @vercel/node
    js
    import type { VercelRequest, VercelResponse } from '@vercel/node'
    
    export default (request: VercelRequest, response: VercelResponse) => {
      const { name } = request.query
      response.status(200).send(`Hello ${name}!`)
    }
  • 如何处理POST请求参数?我个人理解的是,跟express框架类似,获取GET请求参数是request.query,获取POST请求参数是request.body

    js
    // api/getUserInfo.js为例
    
    module.exports = (request, response) => {
        if (req.method === 'GET') {
            const { name } = request.query;
            res.status(200).json({ message: `Hello ${name} (GET)` });
        } else if (req.method === 'POST') {
            const { name } = request.body;
            res.status(200).json({ message: `Hello, ${name} (POST)` });
        }
    }

MIT版权,未经许可禁止任何形式的转载