邮递员 404 未找到

Naj*_*ouk 0 laravel postman

我是 laravel API 的初学者,我想显示文章列表(方法索引),我已经创建了模型文章,但我不能。

你好,我是 laravel API 的初学者,我想显示文章列表(方法索引),我已经创建了模型文章,但我不能。

文章控制器

<?php  
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Article;
use App\Http\Resources\Article as ArticleResource;

class ArticleController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $articles= Article::paginate(15);
        return ArticleResource::collection($articles);
    }
Run Code Online (Sandbox Code Playgroud)

创建表文章

 public function up()
    {
        Schema::create('articles', function (Blueprint $table) {
            $table->increments('id');
            $table->string('title');
            $table->string('body');
            $table->timestamps();
        });
    }
Run Code Online (Sandbox Code Playgroud)

应用服务提供者.php

<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;
class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Schema::defaultStringLength(191);
    }
Run Code Online (Sandbox Code Playgroud)

文章TableSeeder

<?php

use Illuminate\Database\Seeder;

class ArticalesTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        factory(App\Article::class,30)->create();
    }
}
Run Code Online (Sandbox Code Playgroud)

文章工厂.php

<?php

/* @var $factory \Illuminate\Database\Eloquent\Factory */

use Faker\Generator as Faker;

$factory->define(App\Article::class, function (Faker $faker) {
    return [
        'title' => $faker->text(50),
        'body'  => $faker->text(200)
    ];
});
Run Code Online (Sandbox Code Playgroud)

应用\资源\Article.php

<?php

namespace App\Http\Resources;

use Illuminate\Http\Resources\Json\JsonResource;

class Article extends JsonResource
{
    /**
     * Transform the resource into an array.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    public function toArray($request)
    {
        return parent::toArray($request);
    }
}
Run Code Online (Sandbox Code Playgroud)

数据库播种器.php

<?php

use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
         $this->call(ArticalesTableSeeder::class);
    }
}
Run Code Online (Sandbox Code Playgroud)

路线/api.php

//list 
Route::get('articles','ArticleController@index');
//list single
Route::get('article/{id}','ArticleController@show');
//create article
Route::post('article','ArticleController@store');
//update articles
Route::put('article','ArticleController@store');
//delete article
Route::delete('articles','ArticleController@destroy');
Run Code Online (Sandbox Code Playgroud)

aty*_*mic 5

Laravel 自动为routes/api.php文件中的路由添加路由前缀/api

您需要向以下人员提出请求:

http://127.0.0.1:8000/api/articles
Run Code Online (Sandbox Code Playgroud)

而不是

http://127.0.0.1:8000/articles
Run Code Online (Sandbox Code Playgroud)

如果您愿意,您可以更改此设置RouteServiceProviderhttps://github.com/laravel/laravel/blob/master/app/Providers/RouteServiceProvider.php#L66-L72