API测试中找不到404

时间:2019-05-03 03:41:04

标签: laravel postman

我在Laravel中完成了API后端

我测试了Route::post('register', 'UserController@register'); 使用http://localhost/cloudengine-sandbox/cloudsandboxbackend/public/api/register

,它工作正常。 我想测试短代码时遇到问题。

api.php

Route::post('register', 'UserController@register');
Route::post('login', 'UserController@login');
Route::get('profile', 'UserController@getAuthenticatedUser');

Route::get('/shortcodes', 'ShortcodeController@index')
    ->name('shortcodes.index');

Route::post('/shortcodes', 'ShortcodeController@store')
    ->name('shortcodes.store');

Route::get('/shortcodes/{shortcode}', 'ShortcodeController@show')
    ->name('shortcodes.show');

Route::put('/shortcodes/{shortcode}', 'ShortcodeController@update')
    ->name('shortcodes.update');

Route::delete('/shortcodes/{shortcode}', 'ShortcodeController@destroy')
    ->name('shortcodes.destroy');

我要在POSTMAN中键入什么来测试每个短代码。

我输入了http://localhost/cloudengine-sandbox/cloudsandboxbackend/public/api/shortcodes/show

我希望还可以,但给出了404未找到

2 个答案:

答案 0 :(得分:1)

如果您正在为应用程序编写测试用例,那么

.env中设置应用程序网址。

APP_URL=http://web.local  //Any url that you  are using.

因为laravel使用APP_URL中的.env创建了一个网址。

如果您正在使用POSTMAN进行测试

还要确保在邮递员中传递标头ACCEPT=application/json

答案 1 :(得分:0)

路径上的名称只是快捷方式,但是当以URL的形式访问它们时,您仍然需要按照定义使用整个URL。

在您的示例中,URL必须为:

http://localhost/cloudengine-sandbox/cloudsandboxbackend/public/api/shortcodes/{shortcode}

在数据库中用有效的短代码ID替换{shortcode}

确保将shortcode绑定到RouteServiceProvider上的模型。