如何使用Postman将多个值发送到Datasnap服务器

问题描述 投票:1回答:1

我的Datasnap服务器中有两种方法。第一个接受JsonObject

1º方法 - 工作

function TServerMethods1.UpdateImagem(JsonObj: TJSONObject): Boolean;

为了向UpdateImagem发送数据,我在Postman制作一个POST并发送一个raw

{
    "nome":"soon",
    "tipofoto":"foto"
}

JsonObj成功进入datasnap服务器,我可以获得JsonObj.GetValue('nome')JsonObj.GetValue('tipofoto').Value

2º方法 - 不起作用

第二种方法不接收JsonObj,而是接收4个值。

function TServerMethods1.UpdateFile(const AArquivo, Pasta: String; Size: Int64;
  const ASetStream: TStream): boolean;

我无法将数据发送到此方法。 (现在,我忽略了ASetStream值,因为我甚至无法发送其他值)。

1º尝试 - 我试图以JSON身份发送。

{
    "AArquivo":"soon",
    "Pasta":"foto",
    "Size":"0"
}

这会给我带来错误:Cannot convert JSON value {"AArquivo"...} input into TDBXTypes.WideString

2º尝试 - 我试图将它作为form-dataform-urlencoded发送,我都给出了同样的错误:Message content is not a valid JSON value

有什么方法可以发送这些值吗?

Obs:我无法更改服务器方法,因为我不是在服务器上工作的人。

delphi datasnap
1个回答
0
投票

您的JSON数据实际上是无效的。

{
    "AArquivo":"soon",
    "Pasta":"foto"
    "Size":"0"
}

缺少逗号...

{
    "AArquivo":"soon",
    "Pasta":"foto",
    "Size":"0"
}
© www.soinside.com 2019 - 2024. All rights reserved.