有没有办法修改请求 把前端传的小驼峰形式的字段名称转成下划线格式

manman10

问题描述

前端vue字段名称习惯用小驼峰 webman后端为了和数据库一致字段用下划线风格 想用中间件修改请求内容和返回内容 统一转换 怎么实现?

要是能像laravel那样加一个 $request->replace($newParameters) 方法就好了 可以修改请求部分

831 2 0
2个回答

liziyu
    /**
     * 下划线转驼峰
     * @param $str
     * @return null|string|string[]
     */
    public static function lineToHump($str)
    {
        $str = preg_replace_callback('/([-_]+([a-z]{1}))/i', function ($matches) {
            return strtoupper($matches[2]);
        }, $str);
        return $str;
    }

    /**
     * 驼峰转下划线
     * @param $str
     * @return null|string|string[]
     */
    public static function humpToLine($str)
    {
        $str = preg_replace_callback('/([A-Z]{1})/', function ($matches) {
            return '_' . strtolower($matches[0]);
        }, $str);
        return $str;
    }

从网上抄过来的,不晓得对不对。

  • manman10 2022-12-21

    这个转换是可以的 ,但是我不知道如何 用中间件 修改request , 把 $request 里面的修改了 继续向下层传递

2548a

其实不用想着修改request类,自己封装一个input方法,后续获取数据统一从input方法里获取,然后你只要介入了input方法就能实现你上面的效果了.

  • 暂无评论
年代过于久远,无法发表回答
🔝