Lazarus 调用 Odoo API 示例
以下是一个简单的 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 请求)。该函数使用HTTPGet 和 HTTPPost 函数发送 HTTP 请求,并使用GetJSON 函数将响应转换为 JSON 数据。该函数返回一个TJSONData 对象。
在按钮的单击事件处理程序中,我们设置了 API URL 和认证信息,并使用OdooAPIRequest 函数发送 POST 请求。然后,我们检查 API 响应是否成功,并执行其他逻辑。
原文地址: https://www.cveoy.top/t/topic/oNty 著作权归作者所有。请勿转载和采集!