我有一个接受字符串参数“CompanyName”的服务器方法“CustomerLookup”,用户可以输入任何字符,CustomerLookup 方法将返回部分符合条件的客户列表。我的 REST URL 如下所示,最后一个词“t”是方法的参数
http://localhost/datasnap/rest/TSales_SM/CustomerLookup/t
我的预期结果是,如果用户输入“t”,方法将返回所有与“t”部分匹配的客户公司名称。但我发现某些字符,如 T & Y 将转换为 True,N & F 将转换为 false。转换代码在 delphi unit -> DataSnap.DSService 中实现
procedure TDSRESTService.BuildParamArray(const Params: TStringList; var ParamArray: TJSONArray);
var
I: Integer;
S: String;
LValue: Double;
begin
ParamArray := TJSONArray.Create;
for I := 0 to Params.Count - 1 do
begin
S := Params[I];
if (AnsiIndexText(S,TrueBoolStrs) > -1) then
ParamArray.AddElement(TJSONTrue.Create)
else if AnsiIndexText(S,FalseBoolStrs) > -1 then
ParamArray.AddElement(TJSONFalse.Create)
else if AnsiCompareStr(S,NULL) = 0 then
ParamArray.AddElement(TJSONNull.Create)
else
if TDBXPlatform.TryJsonToFloat(S, LValue) then
ParamArray.AddElement(TJSONNumber.Create(S))
else
ParamArray.AddElement(TJSONString.Create(S));
end;
end;
谁能告诉我如何防止系统将 T、F、Y、N 转换为真假
谢谢。