WordPress REST端点validate_callback自定义错误消息方法咨询
WordPress REST API validate_callback 自定义错误信息实现方法
可以通过返回WP_Error实例替代返回false,来实现自定义错误代码与消息。
默认情况下返回false会触发标准的rest_invalid_param错误,但如果你的验证函数返回WP_Error对象,WordPress会直接使用这个对象生成响应内容,完全替换默认错误结构。
示例代码
- 自定义验证函数,返回WP_Error
function validate_minutes_param($value, $request, $param) { // 自定义验证逻辑:分钟数必须是1-60之间的数字 if (!is_numeric($value) || $value < 1 || $value > 60) { return new WP_Error( 'invalid_minutes_range', // 自定义错误代码 '分钟数必须在1到60之间', // 自定义错误消息 array('status' => 400) // 自定义HTTP状态码(通常还是400) ); } // 验证通过返回true return true; }
- 注册REST端点时关联该验证函数
register_rest_route('my/v1', '/example', array( 'methods' => WP_REST_Server::READABLE, 'callback' => 'my_example_api_callback', 'args' => array( 'minutes' => array( 'required' => true, 'validate_callback' => 'validate_minutes_param', ), ), ));
自定义错误响应示例
当验证不通过时,接口会返回如下自定义错误结构:
{ "code": "invalid_minutes_range", "message": "分钟数必须在1到60之间", "data": { "status": 400 } }
内容的提问来源于stack exchange,提问作者Flemming Lemche
相关产品推荐
相关产品推荐

