it编程 > 编程语言 > Delphi

mormot2 笔记(二) Http服务的简单搭建

292人参与 2024-05-12 Delphi

mormot2框架中有个thttpserver类,它有一个router属性,定义如下:

  property router: turirouter read froute; 

router是添加路由的入口点,它有和http协议对应的get, post, put, delete等方法,这些方法可以添加路由,下面常用的get方法定义。

    procedure get(const auri: rawutf8; const aexecute: tonhttpserverrequest); overload;
  tonhttpserverrequest = function(ctxt: thttpserverrequestabstract): cardinal of object;

这里我们不能像js中koa2类似的写法,除非我们写个helper类,给turirouter加个方法,然后就可以像koa2中的写法一样了,类似这样:

httpserver.router.getex('/api/login', function(ctx, txxxcontext): integer
begin
   //代码
end;

如果不想使用上面的方式写代码,我们可以按delphi webmodule的方式写,即写不同的twebaction,  我们先定义tabstractroute抽象类,然后写不同的子类,代码类似这样:

tabstractrout = class
protected
  fprefix: string;  //路由前缀,很有必要, 以后/api2/login时,这里变动就行了。
furl: string;
fmethodtype: string; public procedure execute(ctx: txxxcontext); virtual; abstract; end; tloginroute = class(tabstractrout) public procedure execute(ctx: txxxcontext); overide; end;

这样就能适配turirouter.get方法了。

此外,我们也可以使用“贴标签”的方式来定义路由,即使用tcustomattribute,这样就和java等框架中的写法一样了,看个人的喜好吧。

 

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

delphi redisclient测试

05-12

Delphi 实现刘谦春晚魔术

05-12

mORMot2 生成和解析 JSON

05-12

mORMot2 获取数据集1

05-12

mORMot 1.18 第07章 简单的读写操作

05-12

mORMot 1.18 第06章 概念

05-12

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论