POST 路线 LARAVEL 6

POST routes in LARAVEL 6

我正在 laravel 6 中开发应用程序,但遇到了一些问题。 我有一个 API 用于与我的 BDD 通信,我制作 GET 路由以显示一些数据。 我现在正尝试通过在我的应用程序中收集表单数据来为更新我的 BDD 创建 POST 路由,但我不明白它是如何工作的。

假设您正在创建一个非常常见的博客应用程序

我们应用程序的基本端点:创建、检索列表、检索单个列表、更新和删除。在 routes/api.php 文件中,我们可以简单地这样做:

Use App\Article;

Route::get('articles', function() {
    // If the Content-Type and Accept headers are set to 'application/json', 
    // this will return a JSON structure. This will be cleaned up later.
    return Article::all();
});

Route::get('articles/{id}', function($id) {
    return Article::find($id);
});

Route::post('articles', function(Request $request) {
    return Article::create($request->all);
});

Route::put('articles/{id}', function(Request $request, $id) {
    $article = Article::findOrFail($id);
    $article->update($request->all());

    return $article;
});

Route::delete('articles/{id}', function($id) {
    Article::find($id)->delete();

    return 204;
}); 

现在让我们把这段代码移到它自己的控制器中:

php artisan make:controller ArticleController

ArticleController.php 文件:

use App\Article;

class ArticleController extends Controller
{
    public function index()
    {
        return Article::all();
    }

    public function show($id)
    {
        return Article::find($id);
    }

    public function store(Request $request)
    {
        return Article::create($request->all());
    }

    public function update(Request $request, $id)
    {
        $article = Article::findOrFail($id);
        $article->update($request->all());

        return $article;
    }

    public function delete(Request $request, $id)
    {
        $article = Article::findOrFail($id);
        $article->delete();

        return 204;
    }
}

routes/api.php 文件:

Route::get('articles', 'ArticleController@index');
Route::get('articles/{id}', 'ArticleController@show');
Route::post('articles', 'ArticleController@store');
Route::put('articles/{id}', 'ArticleController@update');
Route::delete('articles/{id}', 'ArticleController@delete');

From/Source