Nodejs中常见的接口定义(get、post)

一、get方式

1、问号携带参数形式:

     定义接口:app.get('/all',function(req,res){
                              req.query  接收参数
                      })
     调用:localhost:3000/all?age=12

     eg:

var express=require('express');
var app=express();
//问号
app.get('/all',function(req,res){
    console.log(req.url);
    res.send(req.query);
})
app.listen(3000,function(){
    console.log(3000);
})

 在地址栏中拼接数据:

2、result形式

     定义接口:app.get('/all/:uname/sex/:age',function(req,res){
                              req.params 接收参数
                       })
     调用:localhost:3000/all/xiaoming/sex/18

  eg:

var express=require('express');
var app=express();

//resfult
app.get('/student/:name/sex/:age',function(req,res){
    res.send(req.params);
})
app.listen(3000,function(){
    console.log(3000);
})

    在地址栏中调用:

二、post方式:

      定义接口:app.post("/all",function(req,res){
                                 req.body    接收参数
                        })
      需要依赖一个功能模块:body-parser
      引入模块:var bodyParser= require('body-parser')
      使用模块:app.use(bodyParser.json())
                       app.use(bodyParser.urlencoded({ extended: true }))

      调用:localhost:3000/all

      eg:

var express=require('express');
var bodyParser= require('body-parser');
var app=express();
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: true }))
//post
app.post('/class',function(req,res){
    res.send(req.body);
})
app.listen(3000,function(){
    console.log(3000);
})

 

 

在PHP中调用Node.js接口通常涉及Web服务间的通信,可以使用各种HTTP客户端库,如cURL、Guzzle等,或者通过JSON-RPC协议。以下是基本步骤: 1. 安装必要的依赖:首先,在PHP项目中安装cURL(如果尚未安装),例如: ```bash sudo apt-get install php-curl ``` 2. 创建Node.js API:Node.js中,你可以创建一个RESTful API,比如使用Express框架,然后定义处理请求的路由。这里是一个简单的示例: ```javascript const express = require('express'); const app = express(); app.get('/api/data', (req, res) => { // 这里是返回数据的部分 res.json({ message: 'Hello from Node.js' }); }); app.listen(3000, () => console.log('Server running on port 3000')); ``` 3. 调用Node.js接口: 在PHP中,你可以编写一个函数,通过cURL发送GET请求并获取响应: ```php function callNodeApi($endpoint, $data = null) { $ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => 'http://localhost:3000' . $endpoint, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ['Content-Type: application/json'], // 如果有数据需要POST CURLINFO_POSTFIELDS如果是数组的话,则要序列化为json ($data !== null ? [CURLOPT_POSTFIELDS => json_encode($data)] : []), ]); $response = curl_exec($ch); curl_close($ch); return json_decode($response, true); } // 示例调用 $result = callNodeApi('/api/data'); print_r($result); ``` 4. 异步请求:如果你想要非阻塞地发起请求,可以考虑使用`guzzlehttp/promises`或其他异步库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值