【发布时间】:2020-04-27 11:51:33
【问题描述】:
我正在使用 TidHttp 组件向具有 URL-Segment 参数以及自定义标头中的 JSON 数据的端点进行发布。在 REST-Debugger 中一切正常,但我不知道如何在代码中添加参数。 本质上,我的代码如下所示:
IdHTTP1.Request.ContentType := 'application/json' ;
IdHTTP1.Request.CustomHeaders.AddValue('Authorization',Token );
IdHTTP1.Request.CustomHeaders.AddValue('X-Api-Key',APIKEY );
//deliveryOrderId is a URL-SEGMENt, HOW ??
// this does not work ?
IdHTTP1.Request.CustomHeaders.AddValue('deliveryOrderId', deliveryOrderID );
url := ‘https://api.staging.floriday.io/apps/delivery-orders/{deliveryOrderId}/auction’
streamParameters := TStringStream.Create( makeDeliveryOrderJSON ) ;
IdHTTP1.Post( url , streamParameters) ; <---- BAD REQUEST
下面是 REST-Debugger 的一些截图,
非常感谢任何帮助!
亲切的问候,
德克。
【问题讨论】:
-
TIdHTTP不支持命名的 URL 段参数。另一方面,TRestClient 是 REST 调试器在幕后使用的。如果你坚持使用 Indy,你必须自己管理 URL。
标签: json rest delphi post indy