gpt4 book ai didi

laravel - api 中的验证在 postman 中不适用于我的 laravel 项目

转载 作者:行者123 更新时间:2023-12-04 13:54:34 26 4
gpt4 key购买 nike

我尝试在单 Action Controller 中进行验证并在 postman 中测试 API,但它没有显示任何内容。

namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class BookableAvailabilityController extends Controller
{

public function __invoke(Request $request)
{
$data = $request->validate([
'from' => 'required|date_format:Y-m-d|after_or_equal:now',
'to' => 'required|date_format:Y-m-d|after_or_equal:from',
]);
}
}
我在 API 文件中定义了路由:
Route::get('bookables/{bookable}/availability', 'Api\BookableAvailabilityController')
路线是正确的,如 route 所示:列表
enter image description here
但是 postman 显示代码 200 说一切正常
enter image description here

最佳答案

$request->validate方法,如果验证失败,将抛出异常并自动将正确的错误响应发送回用户。对于传统的 HTTP 请求,将生成重定向响应,而对于 AJAX 请求,将发送 JSON 响应。
您可以使用 Validator 函数。这样您就可以传递自定义响应

$validator = Validator::make($request->all(), [ 
'from' => 'required|date_format:Y-m-d|after_or_equal:now',
'to' => 'required|date_format:Y-m-d|after_or_equal:from',
]);

if ($validator->fails()) {
return response()->json($validator->errors(), 422);
}

关于laravel - api 中的验证在 postman 中不适用于我的 laravel 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64710141/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com