php 使用Laravel Nova API防止Dingo API冲突

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 使用Laravel Nova API防止Dingo API冲突相关的知识,希望对你有一定的参考价值。

<?php 

namespace App\Providers;

use Dingo\Api\Routing\Adapter\Laravel as LaravelAdapter;
use Laravel\Nova\Nova;

class DingoApiServiceProvider extends \Dingo\Api\Provider\LaravelServiceProvider
{
	/**
     * Boot the service provider.
     *
     * @return void
     */
    public function boot()
    {
    	if(! $this->isNovaRequest(request())) {
    		parent::boot();
    	}
    }
	/**
     * Register the service provider.
     *
     * @return void
     */
    public function register()
    {
        parent::register();

        if(! $this->isNovaRequest(request())) {
        	$this->registerRouterAdapter();
        }
    }

    /**
     * Determine if the given request is intended for Nova.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return bool
     */
    protected function isNovaRequest($request)
    {
        $path = trim(Nova::path(), '/') ?: '/';

        return $request->is($path) ||
               $request->is(trim($path.'/*', '/')) ||
               $request->is('nova-api/*');
    }
}

以上是关于php 使用Laravel Nova API防止Dingo API冲突的主要内容,如果未能解决你的问题,请参考以下文章

php 具有自定义访问器的Laravel Nova用户资源

php 具有Spatie Peermission包的Laravel Nova用户模型

Laravel Nova 中的自定义 Vue 组件

Laravel Nova 无法与 Laravel Spark 一起使用:位置 1213 的 JSON 中出现意外的令牌 P

如何防止 Laravel API 处理查询字符串上的参数?

Laravel REST API 类型保留(例如,如何防止整数作为字符串发送)