laravel-5 - 将外部服务器的 Post 数据保存到 Laravel
问题描述
我想将发布到回调 URL 的信息保存到 Laravel 数据库。我在 api.php 文件中创建了一个控制器和一个路由,但未保存发布的信息。当我在公共文件夹中创建一个 PHP 文件时,信息正在保存,但我希望它通过控制器。请让我知道我需要做什么来保存信息。
路线:Route::post('/receivesms', 'MessageController@stk');
控制器:
namespace App\Http\Controllers;
use App\Message;
use Illuminate\Http\Request;
class MessageController extends Controller
{
public function stk(Request $req){
$message = new Message();
$message->sender = $req->input('from');
$message->recipient = $req->input('to');
$message->message = $req->input('message');
$message->date_sent = $req->input('date');
$message->message_id = $req->input('id');
$message->link_id = $req->input('linkId');
$message->save();
return view('welcome');
}
}
发布的信息如here所述。发布的数据是;
$from = $_POST['from'];
$to = $_POST['to'];
$text = $_POST['text'];
$date = $_POST['date'];
$id = $_POST['id'];
$linkId = $_POST['linkId'];
解决方案
当您将路线放入api.php
文件api
中时,路线中的前缀会自动参考此链接Laravel Routing
因此,如果您的 laravel 应用程序正在运行,https://example.com
那么Route::post('/receivesms', 'MessageController@stk');
将转换为https://example.com/api/receivesms
因此,请确保您的回调包含api
前缀,它应该可以工作。
一切顺利
ķ
推荐阅读
- acumatica - 如何在识别输入增值税 TX503500 上为流程按钮添加条件
- python - Python input() 阻止子进程执行
- c# - 对数据库行重新编号效率低下
- java - JavaFX 控制器未链接到 JavaFX fxml 文件
- sql-server - 如何从 AWS 托管的数据库中提取数据到本地或 Azure SQL 数据库
- amazon-web-services - 雅典娜 - CTAS 文件名
- docker - 离线时将谷歌云注册表与 docker 一起使用
- java - 错误:java:找不到符号符号:类 MockitoJUnitRunner
- ios - 如何在颤动中为 CupertinoDatePicker 小部件设置最短时间?
- javascript - phpmailer和javascript配置