问题标签 [dingo-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3250 浏览

php - Laravel+Dingo 中一致的 REST API 响应

我一直在开发一组要为移动应用程序公开的 REST API。我正在遵循 Laravel 项目开发的存储库模式。如何实现演示者和转换器以在我的所有 API 集中格式化恒定的 JSON 输出?

例如,我有以下用于登录的控制器

现在变形金刚和主持人在哪里出现?我知道两者都用于通过转换 db 对象来格式化输出并生成格式化的 JSON,以便它在我的 API 中保持统一。

dingo API 和分形甚至框架(L5 存储库)都没有提供详细的文档,我也找不到这方面的任何教程。

我为另一个提供产品列表的 API创建了以下演示者和转换器

主持人

我将如何在控制器中设置演示者并做出响应?试过了

但它似乎不起作用,文档没有显示完整的步骤。

  1. 在上面的示例中,如何为可以在整个 API 中使用的错误响应制作模板,以及如何将错误异常传递给它?
  2. 似乎演示者和转换器可用于将数据库对象转换为可呈现的 JSON 而不是其他任何东西。那正确吗?
  3. 您如何使用演示者和转换器来进行成功响应和错误响应?通过将异常而不是 DB 对象传递给转换器?
0 投票
2 回答
765 浏览

php - 使用 Fractal、Dingo API、Laravel 5 进行嵌套转换

我正在尝试使用以下代码转换一组

交互结果始终为空。这是我得到的输出示例:

如果我尝试死亡并转储变量,我会得到一个包含 5 个项目的$ticket->interactions集合(这证明变量不为空)。

我在这里做错了什么?

感谢您的关注。

0 投票
3 回答
1559 浏览

php - 将 laravel 原始查询与 dingo/APi + Fractal/transformers 与 laravel 5.1 一起使用

我有一个带有索引方法的 ArticleCommentsController

这是变压器类

响应是以下错误:

显然,我需要在调用 Fractal\transform 时发送评论对象的实例,但我不知道该怎么做,因为 laravel 的原始查询只返回数组或 QueryBuilder 类的实例。

0 投票
1 回答
3127 浏览

php - Dingo api没有注册路线

嗨,我正在使用 Dingo Api dev-master b36db17 (1.0.*@dev) 和 Laravel 5.2.11

当我尝试访问我的 api 路由时,出现错误:

这是我的api路线:

该命令php artisan api:routes什么也没显示

我需要一些帮助

编辑 - 27/01/16

适配器的目的是什么?

看起来路线没有加载:

Laravel 类在命名空间 Dingo\Api\Routing\Adapter 中实现适配器

0 投票
3 回答
9848 浏览

rest - CSRF 与 REST API laravel

我是laravel的新手。我想用 Laravel 创建 REST API,为此我使用了 Dingo。现在我的问题是当我发送帖子请求时

CSRF 令牌不匹配是抛出错误

对于网页版,我们使用 CSRF 令牌来验证请求。

谁能帮我解决 laravel 5.1 中的 CSRF 令牌不匹配错误。

提前致谢...

0 投票
3 回答
2035 浏览

php - 请求验证总是使用 Dingo/Api 在 Laravel 上传递

我正在使用dingo/api包。

控制器:

例如,电子邮件字段是必需的:

所以我在没有电子邮件的情况下发送了一个请求,但仍然得到“a”响应。

我也尝试扩展Dingo\Api\Http\Request而不是App\Http\Request,但仍然相同。

0 投票
1 回答
476 浏览

php - Lumen -> 第 54 行错误 - require(): 需要打开失败

我将 Lumen 的新副本安装为 Heroku 应用程序。此外,我在其中实现了 packange Dingo:https ://github.com/dingo/api/但是当我尝试加载所有内容时,服务器返回此错误:

我试图删除供应商文件夹等并重新安装它,但结果是一样的

编辑:我的 composer.json 是:

编辑 2:我现在在我的本地机器上尝试过,Lumen with Dingo 工作正常,所以 Heroku 叹了口气。如何在 Heroku 日志中查看流明日志?

0 投票
2 回答
517 浏览

laravel-5.2 - Laravel 5.2 中的 Dingo 不起作用

我有类似的问题:Install Dingo in Laravel 5.2 and get error when call the api

我仍然不知道答案。我试过这个:https ://github.com/dingo/api/wiki/Configuration来设置我的 Dingo。当我尝试访问 API 时,它什么也不返回。有什么解决办法吗?

或者 Dingo 只是与 Laravel 5.2 不兼容?

0 投票
2 回答
313 浏览

eloquent - Dingo API,使用数据库查询生成器

有谁知道如何将 Eloquent Query Builder 与 Dingo API 一起使用?

开箱即用地使用 Eloquent,效果很好:

然后在我的模型中,我可以使用 Query Builder :

我知道我可以使用 Eloquent 获得相同的结果,但它只适用于简单查询:

现在使用 Dingo API,当我想使用查询生成器时,我收到了以下错误消息:

我想这与我从未在app/bootstrap.php文件中调用过的setAsGlobal方法有关。我只有这个:

0 投票
2 回答
2258 浏览

php - Laravel + Dingo + JWT + cors 和 OPTIONS 方法

在我的 Laravel 安装中,我通过 tymondesigns 和barryvdhDingo API进行了设置。JWT-AuthLaravel-cors

这是从前端(托管在不同的服务器上)登录和检索数据的过程:

  1. POST的凭据API
  2. 接收JWT令牌,然后将其localStorageBearer前面的密钥一起存储。此后,拦截器会自动获取并设置带有JWT令牌的 Authorization 标头。
  3. POST请求被发送到/users/me,这只是一个检索用户数据的路由。用户数据是username, email, permissions and messages目前自带的。基本上messages是一个Eloquent模型。顺便说一句,检索用户数据的方法,读取用户 using然后我使用's将数据发回。User::classhasMany(Message::class)$user = JWT::parseToken()->authenticate();Dingo$this->response()->item($user, new SelfTransformer());

所以在这一点上,一切似乎都运行良好。用户登录,用户对象填充了所有必要的东西,消息表填充了消息。

我正在对消息进行分页,所以目前我一次只收到 1 条消息。

现在的问题是,在这一点之后(在检索到用户对象之后),如果我提出另一个请求,假设 /users/me?messages=2要检索第二页消息,我会收到以下错误: No 'Access-Control-Allow-Origin' header is present on the requested resource.

如果我也尝试注销,我也会遇到同样的错误。

如果我尝试向已经注册的用户注册,我什至会遇到同样的错误。

所以感觉就像每次在 Laravel 中抛出异常时,Access-Control-Allow-Origin不再设置标题。

这是我的cors配置:

如果我使用 Postman,一切正常。

另外,我注意到在我的网络选项卡中,始终设置了 2 个请求。一个将方法设置为OPTIONS,第二个是实际请求...

我越来越郁闷了...