在处理Laravel API而不是返回Laravel视图时如何设计路线?

问题描述 投票:0回答:3

到目前为止,我一直在构建从后端返回视图或模板的Laravel和Django应用程序。到现在为止还挺好。

但是,我现在正在构建一个从前端AMP代码调用的Laravel API。

在旧方式中,我在Laravel中这样做:来自web.php

Route::get('/', function () {
    return view('welcome');
});

或者我可以从控制器返回视图。

但是,如果Laravel应用程序是返回JSON的API,我该如何设计URL?

基本上,如果有人点击主页上应该将他带到用户个人资料的链接,请说:

/user/{id}

我将在哪里确定此URL的外观以及要调用的端点?

javascript php html laravel google-amp
3个回答
2
投票

您可以使用相同的路由语法,但不返回视图,而是返回json response

Route::get('api/user', function () {
    $data = ['status' => 'success', 'data' => 'stuff'];
    return response()->json($data);
});

查看the response documentation所有可用类型的回复。


0
投票

我终于绕过这个。至少我是这么认为的。

web.php我有一组带有我想要的URL的闭包。这些Closures返回没有数据的视图。与此类似:

Route::get('/', function () {
    return view('welcome');
});

然后在视图中,我调用api.php中指定的API端点,以在视图中呈现我需要的数据。

// List activities
Route::get('activities', 'ActivityController@index');

0
投票

Laravel 5.3及以上版本提供了单独的路由文件qazxsw poi,您可以在其中编写与您的api请求相关的所有路由。

对于控制器只需在控制器文件夹中创建一个名为'Api'的单独文件夹,并在其中创建与api相关的控制器。

从那里你可以编写相应路线的功能。并将json作为routes/api.php返回

或者你可以使用qazxsw poi包在laravel中创建一个单独的api模块。

© www.soinside.com 2019 - 2024. All rights reserved.