【问题标题】:in laravel 8 for API controller , how show the ID not found message as json?在 API 控制器的 laravel 8 中,如何将 ID 未找到消息显示为 json?
【发布时间】:2021-06-21 15:38:34
【问题描述】:

我正在使用 laravel 8 并构建 API。

我有一个 CategoryController 并在做 CRUD。在我的 store 方法中,当我输入一个不存在的 ID 时,我想显示一条消息:category not found

我不知道如何把它放在方法中。

这是我的类别控制器和我的更新方法:

public function update(Request $request, Category $category)
    {
        $data = $request->all();

        $validator = Validator::make($data, [
            'title' => 'required|max:100|unique:categories',
            'description' => 'required|max:500',
        ]);

        if ($validator->fails()) {
            return response(['error' => $validator->errors(), 'Validation Error']);
        }

        $category->title = $data['title'];
        $category->description = $data['description'];
        $category->save();

        return response()->json([
        "success" => true,
        "message" => "با موفقیت ویرایش گردید",
        "data" => $category
        ]);
    }

【问题讨论】:

  • 你的更新路线是什么?
  • 在邮递员中我进入这条路线:http://localhost:8000/api/subcategories/100?parent_id=104&title=examplr&description=example
  • 在我的 api.php 我有资源:Route::apiResource('categories' , CategoryController::class);
  • 我想了解类别字段。无论如何,如果它是“category_id”(POST/PUT 请求中的字段名称(实际上在 REST 应用程序中,您需要在邮递员中运行 PUT 请求以进行更新)),那么您可以将“Category $category”替换为“int $category_id”在您的方法的第二个参数中。之后,您还需要在验证后在您的方法中自己查找类别。像这样: "$category = Category::find($category_id); if (empty($category_id)) { return response()->json(['success' => false, 'message' => "类别未找到!"], 404); }"
  • 你在哪里输入ID?

标签: json laravel api


【解决方案1】:

我修好了


public function update(Request $request, $id)
    {

        $category_faild = Category::find($id);
        if(is_null($category_faild)){
            return response()->json('دسته بندی مورد نظر یافت نشد' , 404);
        }

        $data = $request->all();

        $validator = Validator::make($data, [
            'title' => 'required|max:100|unique:categories',
            'description' => 'required|max:500',
        ]);

        if ($validator->fails()) {
            return response()->json(['error' => $validator->errors(), 'Validation Error']);
        }

        $category = Category::find($id);
        $category->title = $data['title'];
        $category->description = $data['description'];
        $category->save();

        return response()->json([
            "success" => true,
            "message" => "با موفقیت ویرایش گردید",
            "data" => $category
            ]);

    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 2011-09-21
    • 2013-07-10
    • 2021-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多