【发布时间】:2019-04-20 12:00:58
【问题描述】:
我有一个 vuejs 方法,它实现 axios 以将 put/create 请求发送到我的 laravel api create 方法并传递一些数据。
create(data) {
this.mute = true;
window.axios.put('/api/showreels/create', {data}).then(({ data }) => {
this.showreels.push(new Showreel(data));
this.mute = false;
}).catch(error => {
document.write(error.response.data);
});
},
我的 api.php 使用以下资源设置
//Showreel
Route::resource('/showreels' , 'ShowreelController' , [
'except' => ['edit', 'show', 'store']
]);
我有一个创建方法来处理请求并更新持久化数据。 (我已经添加了大量的调试)
/**
* Create a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create(Request $request)
{
$message = 'sdfsdfsdf';
$message = $message . $request->heading . 'BALLS';
\App::abort(500, $message);
$showreel = new Showreel();
$showreel->heading = $request->heading;
$showreel->subheading = $request->subheading;
$showreel->detail = $request->heading;
$showreel->youtubeid = $request->youtubeid;
$showreel->heading = "test";
$showreel->subheading = "test";
$showreel->detail = "test";
$showreel->youtubeid = "test";
$showreel->save();
return response($showreel->jsonSerialize(), Response::HTTP_CREATED);
}
然而 laravel 给了我这个错误。
不知道为什么会出现这个错误?
【问题讨论】:
-
我发现 put 请求正在调用我的 update 方法而不是 create 方法。现在我只需要弄清楚如何创建,因为我的 api 不允许发布请求。