Swagger UI requestInterceptor 抛出“无法设置未定义的属性‘X-CSRF-TOKEN’”错误

Ihe*_*aad 2 laravel swagger swagger-ui laravel-5

我使用 Laravel 5.7 和 Swagger 来创建 API 文档。

作曲家要求:

"require": {
    "php": ">=5.6.4",
    "darkaonline/l5-swagger": "^5.7.3",
    "filp/whoops": "~2.0",
    "laravel/framework": "5.7.*",
    "laravel/passport": "~4.0",
    "laravel/tinker": "~1.0",
    "mll-lab/laravel-graphql-playground": "^2.1",
    "nuwave/lighthouse": "^4.15",
    "paragonie/random_compat": "~2.0",
    "zircote/swagger-php": "3.*"
},
Run Code Online (Sandbox Code Playgroud)

一切正常,但当我尝试在 Swagger UI 中执行请求时,出现错误:

actions.js:453
TypeError: Cannot set property 'X-CSRF-TOKEN' of undefined
Run Code Online (Sandbox Code Playgroud)

这是引发错误的代码:

 requestInterceptor: function() {
      this.headers['X-CSRF-TOKEN'] = 'hM4lUy0ednXXWEFwYc1iRprnSuBuPwQH6Z4pi6v8';
      return this;
    },
Run Code Online (Sandbox Code Playgroud)

为什么会出现错误?

Hel*_*len 5

您的requestInterceptor函数缺少参数。

requestInterceptor函数必须有一个参数,例如req。该参数提供对请求数据的访问。该函数必须返回修改后的请求。

requestInterceptor: function(req) {
  req.headers['X-CSRF-TOKEN'] = 'hM4lUy0ednXXWEFwYc1iRprnSuBuPwQH6Z4pi6v8';
  return req;
},
Run Code Online (Sandbox Code Playgroud)