|
@@ -62,11 +62,38 @@ class IntelligentExamController extends Controller
|
|
|
'method' => $request->method(),
|
|
'method' => $request->method(),
|
|
|
]);
|
|
]);
|
|
|
|
|
|
|
|
- // 优先从body获取数据,不使用query params
|
|
|
|
|
- $payload = $request->json()->all();
|
|
|
|
|
|
|
+ // 优先从body获取数据,不使用query params(入口仍记录 query,便于对照网关是否拼错)
|
|
|
|
|
+ $jsonPayload = $request->json()->all();
|
|
|
|
|
+ $bodySource = 'json';
|
|
|
|
|
+ $payload = $jsonPayload;
|
|
|
if (empty($payload)) {
|
|
if (empty($payload)) {
|
|
|
$payload = $request->all();
|
|
$payload = $request->all();
|
|
|
|
|
+ $bodySource = 'request_all';
|
|
|
}
|
|
}
|
|
|
|
|
+ $queryParams = $request->query();
|
|
|
|
|
+ $rawBody = $request->getContent();
|
|
|
|
|
+ $rawBodyLen = strlen($rawBody);
|
|
|
|
|
+ $rawBodyLog = null;
|
|
|
|
|
+ if ($rawBodyLen > 0) {
|
|
|
|
|
+ $rawCap = 65536;
|
|
|
|
|
+ if ($rawBodyLen <= $rawCap) {
|
|
|
|
|
+ $rawBodyLog = $rawBody;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ $rawBodyLog = substr($rawBody, 0, $rawCap);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ Log::info('IntelligentExamController: 组卷API原始请求参数(入口,未经 normalizePayload)', [
|
|
|
|
|
+ 'trace_id' => $requestTraceId,
|
|
|
|
|
+ 'content_type' => $request->header('Content-Type'),
|
|
|
|
|
+ 'body_source' => $bodySource,
|
|
|
|
|
+ 'body_payload' => $payload,
|
|
|
|
|
+ 'query_params' => $queryParams,
|
|
|
|
|
+ 'raw_body_length' => $rawBodyLen,
|
|
|
|
|
+ 'raw_body' => $rawBodyLog,
|
|
|
|
|
+ 'raw_body_truncated' => $rawBodyLen > 65536,
|
|
|
|
|
+ ]);
|
|
|
|
|
+
|
|
|
$normalized = $this->normalizePayload($payload);
|
|
$normalized = $this->normalizePayload($payload);
|
|
|
|
|
|
|
|
$validator = validator($normalized, [
|
|
$validator = validator($normalized, [
|