daodao97 / apidog

Api Watch Dog, Hyperf 框架的 Api参数校验 和 swagger 生成组件
MIT License
150 stars 29 forks source link

@Header的bug #54

Closed hanchikang closed 3 years ago

hanchikang commented 3 years ago

@Header(key="Authorization|接口访问凭证", rule="required") 在有传Authorization的情况,依然会提示。原因是getHeaders会把得到key是小写

        if ($header_rules) {
            $headers = $request->getHeaders();
            $headers = array_map(function ($item) {
                return $item[0];
            }, $headers);
            [
                $data,
                $error,
            ] = $this->check($header_rules, $headers, $controllerInstance);
            if ($data === null) {
                return [
                    $field_error_code => $error_code,
                    $field_error_message => implode(PHP_EOL, $error),
                ];
            }
        }
daodao97 commented 3 years ago

这个是个已知问题, hyperf 底层 http 解析时对 header 字段做了全小写处理, 我们会在 apidog中, 做适配.

daodao97 commented 3 years ago

fixed at version 1.5.15