matlab - Matlab RESTful PUT 命令 - net.http - 嵌套主体值
问题描述
我正在使用 Matlab 的 matlab.net.http 库来启动获取、放置和发布命令到网站。我可以成功启动 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 解释请求正文部分并将其传递给服务器的方式有关,即它无法正确传递嵌套结构。任何人有任何想法如何解决这个问题?
NB 可能与将curl 转换为 Matlab/Webwrite相关联(它正在处理嵌套值)
解决方案
推荐阅读
- c# - 自动将Unity项目中的所有C#脚本转换为dll
- javascript - 我无法重定向到另一个页面。i=我得到了 islogged 的真实值,但我无法重定向到另一个页面。问题是什么?
- r - 获取列表对象的名称,然后将该名称添加为每个列表的新列
- r - 使用 mapply 中的函数创建和保存散点图
- flutter - 更改 CircularProgressIndicator 和 LinearProgressIndicator 的颜色
- angular - 如何在索引数据库中定义自定义对象(表)?
- ios - Apple 推送通知令牌
- reactjs - React-Hook-Form 样式化多个错误消息
- r - 为正则表达式提供输入参数
- python - 在已安装的包中导入时遇到问题