首页  >  问答  >  正文

Laravel5.3对写在api.php和web.php中路由处理上有什么不同?

Laravel 5.3对写在api.php和web.php中路由处理上有什么不同?

我是想知道,如果用模板渲染的方式弄网页,其中也会用到ajax请求,那这个ajax请求的路由放在api.php还是web.php中比较好?

PHP中文网PHP中文网2713 天前427

全部回复(2)我来回复

  • PHP中文网

    PHP中文网2017-05-16 16:52:28

    根据你的描述明显应该是放在 web.php 中。

    因为你只是普通的 web 项目,web.php 中的路由使用了 web middleware group 。

    protected $middlewareGroups = [
            'web' => [
                \App\Http\Middleware\EncryptCookies::class,
                \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
                \Illuminate\Session\Middleware\StartSession::class,
                \Illuminate\View\Middleware\ShareErrorsFromSession::class,
                \App\Http\Middleware\VerifyCsrfToken::class,
                \Illuminate\Routing\Middleware\SubstituteBindings::class,
            ],
    
            'api' => [
                'throttle:60,1',
                'bindings',
            ],
        ];

    如果你把 ajax 的路由放在 api.php 中,没有csrf 保护,很容易造成程序上的漏洞,公共资源请求除外。

    api.php 配合Laravel passport 来使用提供 API 服务。

    回复
    0
  • 巴扎黑

    巴扎黑2017-05-16 16:52:28

    本质上是一样的.

    你自己觉得放哪, 就放哪.

    我觉得放web.php里面好. 因为看你的描述, 不像是api.

    回复
    0
  • 取消回复