zoukankan      html  css  js  c++  java
  • 使用multipart打造rest粗接口

     使用multipart打造rest粗接口

    中间件提供粗接口设计。

    粗接口设计是实现微服务的关键。不论二进制还是rest接口,都可以设计“粗接口”。

    multipart,既可以序列键值对,也可以序列文件。。。等二进制数据。也就是说,它可以序列所有类型的数据。

     使用multipart,可以方便地打造REST粗接口。粗接口设计后的REST API,在各服务间有且只有一个接口。

    function restfunc(const AReq: TBytes; const ABoundary: string): TBytes;
    begin
      var parts: THttpMultiPartFormData := THttpMultiPartFormData.Create;
      try
        try
          parts.InitWithBoundary(ABoundary);      
          parts.Decode(AReq, Length(AReq));
          case StrToIntDef(parts.Fields['cmd'].AsString, 0) of
            cmd_query: Result := query(parts);
          end;
        except
          on e: Exception do
            WriteLog('yn.restfunc.restfunc ' + E.Message);
        end;
      finally
        parts.Free;
      end;
    end;
    

      

    procedure TForm2.Button2Click(Sender: TObject);
    //rest query
    begin
      var req: TIdMultiPartFormDataStream := TIdMultiPartFormDataStream.Create;
      req.AddFormField('cmd', IntToStr(cmd_query));
      req.AddFormField('accountno', '1');
      req.AddFormField('sql', 'select * from tgoods');
      Memo1.Text := IdHTTP1.Post(FUrl + '/rest', req);
      req.Free;
    end;
    

      

  • 相关阅读:
    十大Intellij IDEA快捷键
    IDEA 在同一目录创建多个项目
    IDEA2017 使用(二)
    idea使用(一)
    js == 与 === 的区别[转]
    Spring Boot(一)
    微服务实战(一):微服务架构的优势与不足
    phpcms:三、头部包含
    phpcms:二、头部尾部包含
    phpcms:一、安装及新建模板
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/14320140.html
Copyright © 2011-2022 走看看