【发布时间】:2019-12-24 21:08:13
【问题描述】:
我使用 Laravel-json-api 框架创建了一个 API,没有控制器,因为框架可以完成所有工作。
它适用于索引和读取,而不是更新。
我使用 Postman 进行更新,但它返回数据库中的记录,没有任何更改,也没有任何错误消息。
api.php 文件:
JsonApi::register('v1')->routes(function ($api) {
$api->resource('titre')->only('index', 'read', 'update');
});
要更新滴定度记录,我使用 /localhost/api/v1/titre/777777
我使用 Postman,具有正确的 Content-Type:application/vnd.api+json
这是我邮递员的原始身体:
{
"data": {
"type": "titre",
"id": "777777",
"attributes": {
"ACTIF": "O",
},
"links": {
"self": "http://localhost/api/v1/titre/777777"
}
}
}
我希望 API 更新 ACTIF 属性,但结果是:
{
"data": {
"type": "titre",
"id": "777777",
"attributes": {
"ACTIF": "D",
},
"links": {
"self": "http://localhost/api/v1/titre/777777"
}
}
}
没有错误消息或任何内容,但应该从 D 更新为 O 的 ACTIF 属性没有更新。
根据 Laravel-json-api 文档,这应该可行,对吧? 谁能告诉我我的错误在哪里?
【问题讨论】:
-
更新时是否使用了 PUT 方法? This tutorial 告诉我们这样做。
-
不,我使用了 PATCH 请求。 {json:api} 规范不支持 PUT。我还向本教程的作者发送了一条消息,表明他使用了 PUT 方法而不是 PATCH 方法。
标签: php json laravel laravel-5.8 json-api