我的所有JSON输出(来自Laravel API应用程序)都包含在数据标签中,如何删除此标签?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的所有JSON输出(来自Laravel API应用程序)都包含在数据标签中,如何删除此标签?相关的知识,希望对你有一定的参考价值。
我正在使用Laravel中的API,该API输出JSON供android应用程序使用。我在Laravel方面工作,而我的朋友在Android方面工作。我们可以将Android应用程序连接到API,但是由于某种原因它无法访问数据。我们认为的问题是,Laravel的所有JSON输出都在一个数据标签中,Android应用程序无法访问。
所有文章的代码
public function toArray($request)
{
return [
'status' => 'ok',
'totalResults' => count($this),
'articles' => ArticleResource::collection($this->collection),
];
}
一篇文章的代码
public function toArray($request)
{
return [
'source' => [
'id' => $this->id,
'name' => $this->name
],
'author' => null,
'title' => $this->title,
'description' => $this->description,
'url' => $this->url,
'urlToImage' => null,
'publishedAt' => $this->created_at,
'content' => null
//]
];
}
我一直在寻找如何以及为什么将它们全部放入数据标签中,或者甚至那就是为什么我们遇到问题的原因,但是我什至找不到Laravel在数据标签中输出JSON的其他示例,没关系实际修复它。有谁知道我该如何解决?让我知道是否有更多您想要的信息/代码/屏幕截图,谢谢。
编辑:Also, as well as all the articles, nested in the data tag is the pagination
中间件代码:
Authenticate.php
protected function redirectTo($request)
{
if (! $request->expectsJson()) {
return route('login');
}
}
RedirectIfAuthenticated.php
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/home');
}
return $next($request);
}
TrimStrings.php
protected $except = [
'password',
'password_confirmation',
];
TrustProxies.php
protected $proxies;
protected $headers = Request::HEADER_X_FORWARDED_ALL;
VerifyCsrfToken.php
protected $addHttpCookie = true;
protected $except = [
(中间件代码的结尾)
Not sure if this will be helpful, every occurrence of the word 'data' in my project
这应该对单个项目执行。
public function toArray($request)
{
static::$wrap = null;
return [
'source' => [
'id' => $this->id,
'name' => $this->name
],
'author' => null,
'title' => $this->title,
'description' => $this->description,
'url' => $this->url,
'urlToImage' => null,
'publishedAt' => $this->created_at,
'content' => null
//]
];
}
如果您提到了它的分页链接,它只是强制存储所需的数据以存储其他元数据信息。这就是资源的工作方式。在documentation中进行检查,尤其是数据包装和分页。
您的其他选择是不使用资源来创建自己的输出。
以上是关于我的所有JSON输出(来自Laravel API应用程序)都包含在数据标签中,如何删除此标签?的主要内容,如果未能解决你的问题,请参考以下文章
在 Laravel 或 iOS 应用程序中转换 JSON API 数据