【发布时间】:2018-10-13 18:08:12
【问题描述】:
我遵循了这个教程:
https://blog.pusher.com/react-laravel-application/
我做了两个部分:Backend 和 Frontend。
当我运行应用程序时(在使用 $ npm run dev 编译 Frontend 之后),我运行 Laravel 应用程序时使用:$ php artisan serve。
使用该应用程序,我能够创建一个Project,但是在尝试创建一个新的Task 时,我从API (Backend) 得到了一个500 Internal Server Error,如下所示:
如您所见,在上图中,请求的路线是:/api/tasks(POST 方法)。
存档:/routes/api.php我有以下内容:
<?php
Route::get('projects', 'ProjectController@index');
Route::post('projects', 'ProjectController@store');
Route::get('projects/{id}', 'ProjectController@show');
Route::put('projects/{project}', 'ProjectController@markAsCompleted');
Route::post('tasks', 'TaskController@store');
Route::put('tasks/{task}', 'TaskController@markAsCompleted');
?>
存档:app/Http/Controllers/TaskController.php我有以下内容:
<?php
namespace App\Http\Controllers;
use App\Project;
use Illuminate\Http\Request;
class ProjectController extends Controller {
public function index() {
$projects = Project::where('is_completed', false)
->orderBy('created_at', 'desc')
->withCount(['tasks' => function ($query) {
$query->where('is_completed', false);
}])->get();
return $projects->toJson();
}
public function store(Request $request) {
$validatedData = $request->validate([
'name' => 'required',
'description' => 'required',
]);
$project = Project::create([
'name' => $validatedData['name'],
'description' => $validatedData['description'],
]);
return response()->json('Project created!');
}
public function show($id) {
$project = Project::with(['tasks' => function ($query) {
$query->where('is_completed', false);
}])->find($id);
return $project->toJson();
}
public function markAsCompleted(Project $project) {
$project->is_completed = true;
$project->update();
return response()->json('Project updated!');
}
}
?>
我正在尝试解决此问题,并在开发的早期阶段检测此类问题,而不必已经实现 Frontend,因为此问题发生在 Backend 上。
那么,我的问题是:我该如何使用测试框架:JEST(很多开发人员非常推荐)这个具体 @987654344 @ + React 项目?
请提供您能提供的所有信息。我会很感激的。
谢谢!
【问题讨论】:
-
你的日志文件说错误是什么?
-
我们看不到错误。在开发人员控制台中显示响应选项卡和/或共享
laravel.log跟踪。如果你检查这些,它可能真的很明显出了什么问题
标签: php reactjs laravel jestjs laravel-5.7