mORMot REST服务端自动解析json body为record

声明

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
type
  TMyRecord = record
    id:Integer;
    name:string;
  end;

  ITestService = interface(IInvokable)
    ['{CB7ABEE8-134D-4706-8C6D-FAACECA754D4}']
    function PostClient(const rec:TMyRecord):TServiceCustomAnswer;
  end;
1
2
3
4
5
6
function TTestService.PostClient(const rec:TMyRecord): TServiceCustomAnswer;
begin
  CheckMethod('POST',Result);

  Success('成功取得请求体:'+RecordSaveJson(rec,TypeInfo(TMyRecord)), Result);
end;

客户端调用方法

1
2
3
4
5
6
7
8
{
    "rec":
    {
        "id":"id",
        "name":"name"
    }

}

不能直接向其它服务端那样,而是需要指定一下参数名, 这里的 rec 就是参数名, 那么, 其实一次POST请求可以传递多个参数了

记录平时瞎折腾遇到的各种问题, 方便查找
使用 Hugo 构建
主题 Stack 3.29.0Jimmy 设计