以下是一个简单的 Lazarus 程序,用于调用 Odoo API:

uses
  fpjson, jsonparser, httpprotocol, httpsend;

function OdooAPIRequest(const method, url, data: string): TJSONData;
var
  response: TStringList;
  json: TJSONData;
begin
  response := TStringList.Create;
  try
    if method = 'GET' then
      HTTPGet(url, response)
    else
      HTTPPost(url, data, response);
    json := GetJSON(response.Text);
    Result := json;
  finally
    response.Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  url, data: string;
  json: TJSONData;
begin
  // 设置 Odoo API 的 URL 和认证信息
  url := 'http://localhost:8069/api/v1/some-endpoint';
  data := '{"username":"admin","password":"admin"}';

  // 发送 POST 请求,获取 JSON 响应
  json := OdooAPIRequest('POST', url, data);

  // 处理 JSON 响应
  if json.FindPath('success').AsBoolean then
  begin
    ShowMessage('API 调用成功!');
    // ...
  end
  else
    ShowMessage('API 调用失败!');
end;

这个程序定义了一个名为OdooAPIRequest的函数,它接受三个参数:请求方法(GET 或 POST)、API URL 和请求数据(如果是 POST 请求)。该函数使用HTTPGetHTTPPost 函数发送 HTTP 请求,并使用GetJSON 函数将响应转换为 JSON 数据。该函数返回一个TJSONData 对象。

在按钮的单击事件处理程序中,我们设置了 API URL 和认证信息,并使用OdooAPIRequest 函数发送 POST 请求。然后,我们检查 API 响应是否成功,并执行其他逻辑。

Lazarus 调用 Odoo API 示例

原文地址: https://www.cveoy.top/t/topic/oNty 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录