【发布时间】:2015-03-26 17:17:31
【问题描述】:
您好,我尝试使用 matlab 中的 urlread2 函数向 REST API 发送请求。一般来说,这确实有效,但对于一个特定的 API 调用,API 中有一个记录在案的错误:通常我会使用 HTTP 方法“DELETE”并传递请求,如下所示:
headers = [http_createHeader('Content-Type','application/json; charset=UTF-8'),...
http_createHeader('Accept','application/json; charset=UTF-8'),...
http_createHeader('X-IG-API-KEY',api_key)];
json_body = savejson('',body);
response = urlread2(myURL,'DELETE',json_body,headers);
这会导致错误。相反,我建议使用:
headers = [http_createHeader('Content-Type','application/json; charset=UTF-8'),...
http_createHeader('Accept','application/json; charset=UTF-8'),...
http_createHeader('X-IG-API-KEY',api_key,...
http_createHeader('_method','DELETE')];
json_body = savejson('',body);
response = urlread2(myURL,'POST',json_body,headers);
据说该错误的原因是,由于未知原因,消息正文在此过程中丢失并产生错误。
我现在的问题是这个解决方法在沙箱中确实有效(没有 matlab 代码!)。但是使用这里显示的 matlab 并没有改变任何东西,两种情况下的响应相同。 所以我猜测 urlread2 函数可能无法按预期处理请求。有人在这里有想法吗?
这里的两个依赖都是众所周知的matlab函数:
【问题讨论】:
标签: java json matlab rest http