首页 > 解决方案 > 在 LARAVEL 6 中发布路线

问题描述

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

标签: phplaravelapipostrouting

解决方案


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

我们应用程序的基本端点:创建、检索列表、检索单个、更新和删除。在 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;
}); 

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

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');

来自/来源


推荐阅读