@black_xe

Почему не заносятся данные в БД по REST API?

Доброго времени суток, кто может подсказать что я делаю не так, в чем моя ошибка?
При попытке авторизации все работает корректно, возвращается код 200 и JSON
и создается запись в БД....
5e240f6322085989218440.png

Но когда я начинаю использовать функцию по добавлению поста я указываю токен авторизации, я указываю все необходимые поля и возвращается код 200 но без JSON и нет записи в таблице.
Подскажите как это исправить.
Или может я не правильно работаю с программой Postman

routes/api.php
Route::group(['middleware' => 'auth:api'], function () {
   Route::post('create-post', 'PostController@createPost');
});


app\Http\Controllers\PostController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Post;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Auth;
use Illuminate\Auth\AuthenticationException;

class PostController extends Controller
{
    //------------- [ Create new Post ] ----------------

    public function createPost(Request $request) {

        $img_name = "";

        // validate input
        $validator  =   Validator::make($request->all(),
            [
                'title'              =>      'required',
            ]
        );

        // if validation fails
        if($validator->fails()) {
            return response()->json(["validation errors" => $validator->errors()]);
        }

        // Retrieve User with acccess token
        $user           =       Auth::user();

        // Upload Featured Image
        $validator      =   Validator::make($request->all(),
           ['featured_img'      =>   'required|mimes:jpeg,png,jpg,bmp|max:2048']);

        // if validation fails
        if($validator->fails()) {
            return back()->withErrors($validator->errors());
        }

        if($file   =   $request->file('featured_img')) {

            $img_name      =   time().time().'.'.$file->getClientOriginalExtension();

            $target_path    =   public_path('/uploads/');

                $file->move($target_path, $img_name);

                // Creating slug

                $slug           =       str_replace(" ", "-", strtolower($request->title));

                $slug           =       preg_replace('/[^A-Za-z0-9\-]/', '', $slug);

                $slug           =       preg_replace('/-+/', '-', $slug);

                // creating array of inputs
                $input              =       array(
                    'title'          =>          $request->title,
                    'slug'           =>          $slug,
                    'featured_img'   =>          $img_name,
                    'user_id'        =>          $user->id
                );

                // save into database
                $post                   =       Post::create($input);
        }

        return response()->json(["success" => true, "data" => $post]);
    }


    // --------- [ Post Listing By User Token ] -------------
    public function postListing() {

        // Get user of access token
        $user           =       Auth::user();

        // Listing post through user id
        $posts          =       Post::where("user_id", $user->id)->get();

        return response()->json(["success" => true, "data" => $posts]);
    }
}

Делал все по инструкции
  • Вопрос задан
  • 209 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы