Matlab RESTful PUT命令 - net.http - 嵌套体值

时间:2018-05-18 17:33:02

标签: matlab restful-url

我正在使用Matlab的matlab.net.http库来启动get,put和post命令到网站。我可以成功启动get和post命令。

例如:     MyBody = matlab.net.http.MessageBody(struct('Id',YYYYYY,'WindfarmId',XXX,'Month','YYYY-MM-DD')); Request = matlab.net.http.RequestMessage; Request.Method = 'POST'; Request.Header = matlab.net.http.HeaderField('Content-Type','application/json','Authorization',['Basic ' matlab.net.base64encode([Username ':' Password])]); Request.Body = MyBody; uri = matlab.net.URI(ENTERURLHERE); Response = Request.send(uri,MyHTTPOptions); 这很好用。但是使用PUT命令我必须输入这个主体的等价物(用curl语法编写):

-d '{ "InputValues": [ {"MetricLevelAId": 1, "MetricLevelBId": 1, "InputMetricId": 7, "Value": 56 } ] }'

我试过了:

data_InputValues = struct ('MetricLevelAId',1,'MetricLevelBId',1,'InputMetricId',7,'Value',56);
MyBody = matlab.net.http.MessageBody(struct('InputValues',dataInputValues));

但是我一直从服务器收到以下“错误请求”响应: “需要输入值”

我认为这与Matlab解释请求的正文部分并将其传递给服务器的方式有关,即它无法正确传递嵌套结构。任何人都有任何想法如何解决这个问题?

N.B。可能与Translating curl into Matlab/Webwrite相关联(它正在处理嵌套值)

0 个答案:

没有答案