我尝试创建一些API并添加自定义验证:
控制器:
use App\Http\Requests\Penggunarequest;
class LogRegAPI extends Controller {
public function register(Penggunarequest $penggunarequest) {
$input = $penggunarequest->all();
$nama = $input['name'];
$alamat = $input['address'];
//other logical thing
验证请求:
namespace App\Http\Requests;
use App\Http\Requests\Request;
class Penggunarequest extends Request
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'name' => 'required|String',
'address' => 'required|String',
];
}
}
如果我使用浏览器通过控制器发送帖子数据,如果有错误响应,它将重定向到表单帖子,但我想通过android发布,evertything工作正常,除非它有错误响应它显示302.如何制作自定义JSON中显示错误响应?
答案 0 :(得分:2)
我刚刚找到答案,我只需要覆盖请求类。通过在我的表单请求验证中添加波纹管代码
public function wantsJson()
{
return true;
}
答案 1 :(得分:0)
https://laracasts.com/series/digging-in/episodes/8就是一个很好的例子。您可以将验证规则放在模型中,然后在控制器上输入如下内容:
$this->model->setRawAttributes($request->all());
if (!$this->model->save()) {
return $this->response($this->model->getErrors(), 409);
}
return $this->model;
然后,您可以创建一个中间件控制器,并检查它是否是JSON标头响应,并为其动态转换为JSON。这样,验证链接到数据,控制器也不必关心JSON。