RSS API, способный добавлять, удалять и перечислять все ресурсы RSS с Laravel - PullRequest
1 голос
/ 12 марта 2020

Добрый день, мне нужно выполнить задачу, которая в принципе казалась простой.

Задача состоит в том, чтобы создать API, который позволит вам перечислять, добавлять и удалять источники RSS и извлекать последнее содержимое из каналов. Я также должен найти способ вернуть старое содержимое, если источник RSS находится в автономном режиме.

Я выполнил модель и контроллер ресурсов, миграцию и WEB-маршрут (я знаю, что должен поставить маршруты в API. php, но я хочу убедиться, что он возвращает все данные, которые я хочу, а затем я буду проверять их с почтальоном), но я заблокирован, потому что я не знаю, как действовать дальше.

Я оставляю вам код ниже, чтобы понять, что я делаю:

web. php (api. php в будущем):

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

//Resource routes:
Route::get('/resources/{resource}', 'ResourcesController@show')
    ->name('resources.show');

Route::feeds();

ResourcesController. php:

namespace App\Http\Controllers;

use App\Resource;
use Illuminate\Http\Request;

class ResourcesController extends Controller
{
    public function show(Request $request, Resource $resource)
    {
        return $resource;
    }
}

Resource. php:

namespace App;

use Spatie\Feed\Feedable;
use Spatie\Feed\FeedItem;
use Illuminate\Database\Eloquent\Model;

class Resource extends Model implements Feedable
{
    public function toFeedResource()
    {
        return FeedItem::create()
        ->id($this->id)
        ->title($this->title)
        ->content($this->description)
        ->updated($this->updated_at)
        ->link($this->link)
        ->source($this->source);
    }

    public static function getResourceItems()
    {
        return static::all();
    }

    public function getLinkAttribute()
    {
        return route('resources.show', $this);
    }
}

create_resources_table. php:

    public function up()
    {
        Schema::create('resources', function (Blueprint $table) {
            $table->increments('id');
            $table->string('title');
            $table->text('description');
            $table->string('source');
            $table->timestamps();
        });
    }

Любая помощь будет Добро пожаловать и заранее спасибо.

...