【发布时间】:2020-04-21 23:01:56
【问题描述】:
我目前正在 Laravel 7 中构建 API 路由。我想验证给定参数在请求中只出现一次。
https://mycool.api/?cool=false&user=me&cool=true
对于像上面这样的 URI,我希望 Laravel 会出现错误消息,例如“您为参数 cool 发送了 2 个值”。当前的行为似乎是简单地使用参数的第二次出现,在我的示例中设置 cool = true 的值。
我目前有如下验证器:
$rules = [
'user' => 'required|in:me,you',
'param' => 'accepted'
];
是否有可以实现此目的的验证器?还是其他一些 Laravel 内置解决方案?
【问题讨论】:
-
为什么要重点关注,既然用户明显滥用了 API,我认为 Laravel 目前采用的方法很好?
-
我同意@mrhn 的观点,用户正在滥用 API,但如果您必须做某事,您可能会计算提供的参数数量。看到这个:getting the count
-
实际只解析一个查询参数,不用担心重复
-
正如已经建议的那样,这似乎是花费超过 0 努力的错误地方,但如果您在隔离期间需要做点什么,这可能会有所帮助:stackoverflow.com/questions/353379/…
-
我同意用户滥用 API。我认为让他们知道他们的错误而不是默默地忽略它是有意义的。我很想知道为什么这个错误不值得检测和响应?
标签: laravel