写一个get类型的接口。

该博客介绍了如何创建一个HTTP GET接口,该接口有50%的概率返回成功或失败的响应。成功时,返回包含特定信息的JSON对象,失败时则返回系统故障的错误信息。示例代码使用Node.js的http和fs模块实现,读取data.json文件内容并根据Math.random()决定返回哪个响应。
摘要由CSDN通过智能技术生成

写一个get类型的接口。

要求:

  • http://你的ip地址:8089/someword

  • 返回值:50%(Math.random()>0.5)的可能成功返回

  • {
        data: '一句你想说的话',
        message:'请求成功'
        code: 200
    }

  • 50%的可能成功返回:

  • {
        data: '',
        message:'系统故障'
        code: 500
    }

const http = require('http')
const fs = require('fs')
const path = require('path')



const server = http.createServer((req,res)=>{
    console.log('当前的请求方式是', req.method)
    if(req.url === '/getList' && req.method === "GET") {   //req.method  //请求方式
        // 读入数据并返回
        const filePath = path.join(__dirname, 'getinput', 'data.json')
        console.log('filePath', filePath)
        fs.readFile(filePath, (err, data) => {
            
            const obj = JSON.parse(data)
            const index = Math.round(Math.random())  //(0,1)取整 四舍五入
            //50% 的可能出现 0 1 
         
               
                res.setHeader('content-type', 'application/json;charset=utf8')
                res.end(JSON.stringify(obj[index]))
                // res.end(data)

                // {
                //     data: '一句你想说的话',
                //     message:'请求成功'
                //     code: 200
                // }
          

                // {
                //     data: '',
                //     message:'系统故障',
                //     code: 500
                // }
           
        })
        
    } else {
        res.statusCode = 404
        res.end('not found')
    }
})

server.listen(8083, ()=>{
    console.log('8083,就绪....');
})

data.json

[
     {"data":"xxxx",
        "message":"请求成功",
        "code":"200"
    },

     {"data":"",
        "message":"系统故障",
        "code":"500"
    }
] 

结果:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值