我有一个ASP.NET MVC Web API,我需要使用Delphi 6来调用它。我正在尝试使用Indy组件(版本9.0.18),我正在使用TIdHttp组件。
我使用REST方法,如POST来添加、PUT到UPDATE和DELETE来删除记录。我成功地添加、更新和获取了我的记录,但我无法成功地调用Delete方法。它会引发错误“HTTP/1.1 400 Bad Request”。
我试图调试Web API,但它认为请求没有到来,因为它不会在断点处停止。
我正在使用的Indy版本没有方法Delete,所以我尝试使用DoRequest方法。
我的代码是:
IdHTTP.DoRequest(hmDelete, 'http://localhost/myapp/api/user/1', nil, nil);
如果我使用Fiddler发出请求,它会工作,所以我的Web API工作得很好。
2条答案
按热度按时间55ooxyrt1#
作为Indy的替代,我建议您使用“导入类型库...”从Project菜单中,选择“Microsoft XML”,这是可用的最高版本(我当前所在的机器上有版本3到6)。禁用“生成组件 Package ”,然后使用
XMLHTTP
组件进行REST调用。例如:7nbnzgx92#
因此,另一个答案很简单,使用具有灵活后期绑定的COM对象,在GET或POST中实现的带有语言检测的REST转换服务的示例,在maXbox脚本中实现: