• 29-03-2021, 20:12:42
    #1
    Merhaba,

    Bir api oluşturmaya çalışıyorum.

    routes içerisindeki api.php'de aşağıdaki satır ekli:
    Route::apiResource('categories', 'CategoriesController');
    CategoriesController'da store metodunun içerisi aşağıdaki şekilde:
        public function store(Request $request)
        {
          $id = DB::table('categories')->insertGetId(
              array(
                'slug' => $request->slug,
                'name' => $request->name
              )
          );
    
          if (!empty($id)) {
            $response = array('response' => 'Başarılı');
          }else {
            $response = array('response' => 'Başarısız');
          }
    
          return response()->json($response);
        }
    Lakin postman üzerinden istek attığımda request içerisindeki slug ve name'in null değer döndürdüğünü görüyorum.



    Bunun nedeni ne olabilir...
  • 31-03-2021, 23:04:43
    #2
    Merhabalar.
    Neden modelleri kullanmıyorsunuz ?

    $category = new Categories();
    $category->xxx = $request->xxx;
    $category->yyy= $request->yyy;
    $category->zzz= $request->zzz;
    
    $category->save();
    id'yi sadece kayıt edilip edilmediğini kontrol etmek için alıyorsunuz sanırım ama yine de kullanacaksanız alt satıra doğru oluşturduğunuz kategori nesnesinden direk ulaşabilirsiniz;

    $category->id;
    Öte yandan request nesnesinin doğru gelip gelmediğini de kontrol edebilirsiniz.

    dd($request);
    Postman'de tek tırnak değil, çift tırnak kullanın ve üstte data tipi TEXT olarak görünüyor, onu JSON olarak değiştirirseniz slug ve name değerlerinin post edildiğini göreceksiniz. Şuan sadece bir metin özelliğinde, onu JSON olarak değiştirin. Bu gibi konularda içeriklere bakmanızı, videolar izlemenizi tavsiye ederim.
    İyi çalışmalar.