S2、火神中间件服务端FireServer自定义API说明

流浪 2021-2-20 392

1.场景:当服务端自代的功能已经无法满足时,需要自已编程

服务端大多功能多已封装好,只需引用使用即可

2.服务端编程 2.1使用服务端日志

Uses FireGobalHelp; //引用单元
Gobal_Help.WriteLog('sql',’写入日志’);//第一个参数为分类,不填时默认放在public目录类

如下图:

2.2 使用账套数据库

Uses FireGobalHelp,FireDataInfo,FireDAC.Comp.Client;  //引用单元
Var
lZTItem:TFireZTItem;
lConnection:TFDConnection;
lQuery, lNewQuery:TFDQuery;
begin
lZTItem := Gobal_Help.ZTManage.LockItem(‘你的账套’);   //获取账套的一个账套连接
    if lZTItem=nil then 
    begin
        exit; //获取账套失败,可能无此账套的代码的账套,或者池已用尽
    end;
    try
        lConnection := lZTItem.ADConnection; //获取账套连接的数据库连接
        lQuery := lZTItem.ADQuery; //获取预创建Query,其conntion与和lConnection绑定,用即可,无需关心释放
        lNewQuery := TFDQuery.Create(nil);   //自已创建的query需手动绑定Connection和释放
        lNewQuery.Connection := lConnection; //自已创建的需要手动绑定Connection
    //干活,你要干的事,比如更新数据什么的
    finally
        lZTItem.UnLock;  //归还账套连接
        if lNewQuery<>nil then
        begin
            lNewQuery.Free;  //自已创建的需要释放
        end;
end;

2.3 扩展自已的HTTP业务单元

火神中间件提供了FastApi功能,可以让我们快速配置API接口,但是我们实际的项目需求,业务需求会很复杂,需要我们写很多相关业务逻辑代码,那么我们如何快速拓展写一个自定义的接口呢?

在我们火神中间件的源码中,拓展一个API接口是很简单的。

所有的接口只需要继承THTTPSingleWork类即可。

下面是一个最简易的接口例子代码:

unit myHTTP;

interface
uses  System.Classes,System.SysUtils, FireHTTPWork,FireHTTPRoot,JsonDataObjects,
  FireDataInfo,System.Generics.Collections,FireAdoPool,FireDAC.Comp.Client;
type
        TMyHTTPHelp = class(THTTPSingleWork)   //继承此类
    Public
    //让外部访问到的方法,参数一定要是这两种参数,其它多无法解析
    procedureHelloWord(QHTTPCtxt:THTTPCtxt;QWokrResult:THTTPResult);
    end;
implementation
uses FireGobalHelp,FireStreamString;
//最终访问地址,假设你的HTTP端口是9090,在浏览器输入以下地址就可以看到输出结果
// http://127.0.0.1:9090/myhello/test/HelloWord
procedure TMyHTTPHelp.HelloWord(QHTTPCtxt:THTTPCtxt;QWokrResult:THTTPResult);
begin
    //QHTTPCtxt里面有HTTP请求各种参数及数据,请参考S1.服务端-说明,这边我们只单纯输出个结果
    //设定只输出ResultOut
    QWokrResult.ResultOutMode := THTTPResultMode.TEXT;
    QWokrResult.ResultOut := 'helloWorkd ';  //输出结果
end;
initialization
  //注册到路由,必需的
    FireHTTPRoot.Init_HTTPRootManage.AddHTTPWork('myhello/test',TMyHTTPHelp,20);
end.

转载请注明出处:Delphi之家 » 2、火神中间件服务端FireServer自定义API说明
本文地址:https://www.delphicn.cn/fireserver/fireserver2.html 

-------------------------------------------------by FLM QQ:378464060  转载请注明出处(尊重原作)--------------------------------------



DelphiTop论坛申明 1、本网站名称:DelphiTop论坛  网址:www.DelphiTop.com
2、专注于互联网分享精神,专注收藏与分享。你薅网友,我就薅你。
3、本站资源,如发现链接失效,可联系QQ 16643506进行反馈,我们会第一时间更新。
最新回复 (1)
  • 566 2021-4-15 0
    2
    回复看一下
返回