首页 > 其他分享 >mormot2 笔记(四) Services的使用

mormot2 笔记(四) Services的使用

时间:2023-08-27 13:56:06浏览次数:40  
标签:function end Create 笔记 FRestServerDB mormot2 Services Integer TTest

constructor TMyRestServer.Create(Port: Word);
begin
  inherited Create;

  FRestServerDB := TRestServerDB.Create(TOrmModelFactory.ModelInstance, SQLITE_MEMORY_DATABASE_NAME);
  FRestServerDB.DB.Synchronous := smOff;
  FRestServerDB.DB.LockingMode := lmExclusive;
  FRestServerDB.CreateMissingTables;

  FRestServerDB.ServiceDefine(TTest, [ITest], sicShared);

  FHttpServer := TRestHttpServer.Create(RawUtf8(Port.ToString), [FRestServerDB], '+', HTTP_DEFAULT_MODE, 4 );
  FHttpServer.AccessControlAllowOrigin := '*';
end;
View Code
type

  TTest = class(TInterfacedObject, ITest)
    function GetTime: TDateTime;
    function Add(a, b: Integer): Integer;
  end;

implementation

uses
  mormot.core.interfaces;

{ TTest }

function TTest.Add(a, b: Integer): Integer;
begin
  result := a+b;
end;

function TTest.GetTime: TDateTime;
begin
  Result := Now;
end;

initialization

  TInterfaceFactory.RegisterInterfaces([TypeInfo(ITest)]);

end.
View Code

测试中的OrmModel中是不与真实的数据库关联。

在调用时,mormot框架对不同调用方式(get,post)进行了相应的处理,即

get  baseUrl/Test/Add?a=1&b=2 与 post baseUrl/Test.Add  (body为 {a: 1, b: 2} )都是可行的。

另外,Test.add(ormValue: TOrmXXX) mormot框架也会进行绑定。

标签:function,end,Create,笔记,FRestServerDB,mormot2,Services,Integer,TTest
From: https://www.cnblogs.com/Jiaojiawang/p/17660215.html

相关文章

  • 学习笔记413—python实现BP神经网络进行预测和误差分析(附源代码)
    python实现BP神经网络进行预测和误差分析(附源代码)反向传播算法也称为BP神经网络,是一种带有反馈的神经网络反向学习方法,它可以对神经网络的各层上的各个神经元的各个神经元之间的连接权重进行不断迭代修改,使神经网络将输入数据转换成期望的输出数据 BP神经网络的学习过程由正向......
  • Mongodb 笔记
    MongoDb:非关系型数据库,基于分布式文件存储的开源数据库系统,在高负载的情况下,添加更多的节点,可以保证服务器的性能MongoDB操作 文档的数据结构和JSON基本一样。所有存储在集合中的数据都是BSON格式。BSON是一种类似JSON的二进制形式的存储格式,是BinaryJSON的......
  • opencv笔记
    opencv图像RGBopencv读取的格式是BGR基本用法读取图片importcv2img=cv2.imread(r'C:\Users\Administrator\Pictures\951c76ee-469e-4084-96db-3d66e5250299.jpg')print(img)print(img.size)print(img.shape)print('---'*30)img1=cv2.imread(r&......
  • [算法学习笔记][刷题笔记] 2023/8/26&8/27 解题报告状压 dp
    题单状压dp状压dp是一种非常暴力的算法,它直接记录不同的状态,通过状态进行转移。状压dp可以解决NP类问题。它的原理是暴力枚举每一种可能的状态。所以它的复杂度是指数级的。只能求解小范围的问题。关于记录状态:状压dp通过一个二进制串来记录状态。显然二进制串可以转......
  • 设计模式学习笔记——接口隔离原则
    定义:1、客户端不应该依赖于它不需要的接口2、类间的依赖关系应该建立在最小的接口上通俗的讲,应该建立单一的接口,不要建立臃肿庞大的接口,即接口应该尽量细化,同时接口中的方法尽量少。举例:要成为一名美女必须具备三个条件:面貌、身材、气质,星探找美女的过程如下类图所示:IPrettyGirl接......
  • 设计模式学习笔记——创建者模式
    这个模式也是比较难理解的,我看了《设计模式之禅》上讲解的例子,但是看完之后一头雾水,而且好乱,仍然没有理解,看了好几遍,还是没有理解,于是我又去翻开我的课本,看那上面的例子,但是结果依然。于是上网搜,搜了很多,但是都不是很理想,最终功夫不负有心人,终于找到一个我能理解,而且我认为比较合理......
  • oracle学习笔记(9)——逻辑存储结构——区
    1、区的概念:   区是由一系列连续的数据块构成的逻辑存储单元,是存储空间分配与回收的最小单位。当创建一个数据库对象时,Oracle为对象分配若干个区,以构成一个段来为对象提供初始的存储空间。当段中已分配的区都写满后,Oracle会为段分配一个新区,以容纳更多的数据。2、区的管理(1)区......
  • oracle学习笔记(13)——数据库的启动与关闭
    1、常用的服务(1)OracleServiceSID     数据库服务,这个服务会自动地启动和停止数据库。如果安装了一个数据库,它的缺省启动类型为自动。服务进程为ORACLE.EXE,参数文件initSID.ora,日志文件SIDALRT.log,控制台SVRMGRL.EXE、SQLPLUS.EXE。     注:SID-数据库标识 ......
  • oracle学习笔记(10)——逻辑存储结构——段
    段是由一个或多个扩展区组成的逻辑存储单元,数据库模式对象在逻辑上是以段来占据表空间的大小,段代表特定数据类型的数据存储结构。1、 段的类型    段分为:数据段、索引段、临时段、回滚段    1)数据段       数据段用来存储表或簇的数据,可以细分为表......
  • oracle学习笔记(14)——安全管理
        数据库的安全性主要包括两个方面的含义:一方面是防止非法用户对数据库的访问,未授权的用户不能登录数据库;另一方面是每个数据库用户都有不同的操作权限,只能进行自己权限范围内的操作。Oracle数据库的安全可以分为两类:    1)系统安全性       系统安全......