From 725fdf17863a00371d7b6717962c15f481ed72f4 Mon Sep 17 00:00:00 2001 From: xia-chu <771730766@qq.com> Date: Wed, 25 Feb 2026 12:21:43 +0800 Subject: [PATCH] =?UTF-8?q?http=20api=E8=AF=B7=E6=B1=82=E6=9C=89json=20bod?= =?UTF-8?q?y=E6=89=8D=E8=A7=A3=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/WebApi.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/server/WebApi.cpp b/server/WebApi.cpp index f68f6128..60d51bfb 100755 --- a/server/WebApi.cpp +++ b/server/WebApi.cpp @@ -225,16 +225,18 @@ ApiArgsType getAllArgs(const Parser &parser) { allArgs[pr.first] = strCoding::UrlDecodeComponent(pr.second); } } else if (parser["Content-Type"].find("application/json") == 0) { - try { - stringstream ss(parser.content()); - Value jsonArgs; - ss >> jsonArgs; - auto keys = jsonArgs.getMemberNames(); - for (auto key = keys.begin(); key != keys.end(); ++key) { - allArgs[*key] = jsonArgs[*key].asString(); + if (!parser.content().empty()) { + try { + stringstream ss(parser.content()); + Value jsonArgs; + ss >> jsonArgs; + auto keys = jsonArgs.getMemberNames(); + for (auto key = keys.begin(); key != keys.end(); ++key) { + allArgs[*key] = jsonArgs[*key].asString(); + } + } catch (std::exception &ex) { + WarnL << ex.what(); } - } catch (std::exception &ex) { - WarnL << ex.what(); } } else if (!parser["Content-Type"].empty()) { WarnL << "invalid Content-Type:" << parser["Content-Type"];