我目前正在重新编写一个具有多个endpoint的API。但是,出于遗留目的,需要有一个可用于访问所有其他endpoint的endpoint。我们应该重定向到哪个endpoint取决于随请求一起发送的自定义操作
头。
例子:
输入:标题-
输入:标题-
通常情况下,我可以使用重定向()方法,但这样我就失去了POST方法的主体。我声明的所有endpoint都是POST方法。
基本上,问题是我如何正确地将帖子重定向到另一条路线?
另请注意,我不能使用:
App::call('App\Http\Controllers\PlanningController@addOrUpdate', ['request' => $request]);
因为我的方法使用自定义请求类来处理验证。我得到一个异常,告诉我参数应该是我的自定义类的类型,并且给出了
illumb\Http\Request
。
我已经找到了我问题的答案。我已经创建了一个中间件,它将根据头中的值重新创建请求。
以下是中间件的句柄功能(仅在Laravel 5.2上测试):
use Request;
use Route;
use Illuminate\Http\Response;
...
public function handle($request, Closure $next, $guard = null)
{
// Get the header value
$action = $request->header('action');
// Find the route by the action name
$route = Actions::getRouteByName(action); // This returns some route, i.e.: 'api/v1/some/url'
// Perform the action
$request = Request::create(route, 'POST', ['body' => $request->getContent()]);
$response = Route::dispatch($request);
return new Response($response->getContent(), $response->status(), ['Content-Type' => 'text/xml']); // the last param can be any headers you like
}
请注意,这可能会在您的项目与其他中间件冲突。我已经禁用了其他中间件,并为此创建了一个特殊的路由组。由于我们手动将调用重定向到另一个路由,该路由上的中间件无论如何都会被调用。但是,您也可以在控制器函数中实现此代码,这样就不会有冲突的中间件问题!
所以我正在尝试为我的网站实现一个支付解决方案,经过相当多的研究,我仍然缺乏一个完整的解决方案。我正在运行Laravel 5.0,需要一般购物车付款功能。我想我会发布这篇文章,试图创建一个参考,以帮助其他可能有这个问题的人。我已经把测试事务放到了Paypal的沙箱中,这似乎是砖墙的所在,但是一个完整的概述会很有帮助。我将列出我需要克服的问题,以便解决一些问题。 完成支付解决方案实施需要解决的问题 >
我试图设置laravel 5.5与家园工作。 我已经按照这里的步骤进行了,包括启动流浪箱。 但是,在浏览器中键入“dev.todoparrot.com”或“192.168.10.10”会出现“未指定输入文件”错误。 尝试着 (因为我对homestead.yaml做了更改)没有修复它。 我的家园。yaml看起来像: 我已使用composer将laravel 5.5安装到“D:/projects/to
我有个急事。我第一次尝试使用Laravel。为此,我使用Wamp。我不知道这是否重要,但我将wamp的DocumentRoot设置在以下地址: 我在一个名为Sites的文件夹中为许多不同的网站使用wamp。当我访问其中一个站点时,我会转到:localhost/Sites/thewebsite。所以我真正想做的就是去掉Laravel网站路径中的公共文件夹。 就目前而言,我做到了: > 更改httpd
突然,当尝试通过护照创建JWT时,我开始在生产中遇到此错误,运行在Ubuntu / apache2上。据我所知,服务器上没有任何更改,没有安装,没有部署,它只是停止工作。 PHP 7.3 OpenSSL 1.0.1f Laravel 5.8 我还注意到这个错误的另一个版本。没有什么变化,所以我不知道为什么会出现这种错误。 注意这一点:
我的Spring Boot项目遇到问题。当我运行应用程序并转到http://localhost:8086/它重定向到http://localhost:8086/login这不是我想要的页面。 这是我申请的内容。属性文件 我还添加了这个类,它应该打开在 /public/文件夹中找到的index.html文件,如上面的属性中指定的 我是不是做错了什么,还是应该先登录它重定向到的页面?
在TS文件中 用户详细信息应为 在管理组件中 我的问题是,当单击时,我不会被重定向到页面,但当我从url栏导航到/userdails时,我会看到组件