如何修改Payload向D365FO端点单次调用发送多个对象
D365 OData API单次调用提交多对象的Postman配置方法
首先你给出的多个逗号分隔的对象不符合JSON语法规范,也不符合D365 OData的批量操作要求,按照以下步骤修改即可:
1. 接口基础配置调整
- 请求方法保持
POST,如果是D365标准数据实体接口,直接用原实体地址即可,不需要额外加后缀 - Postman的Body标签页选择
raw格式,内容类型选择JSON
2. 调整Payload结构
D365 OData支持直接通过数组包裹的方式提交多个同实体的插入对象,标准结构如下:
{ "value": [ {"testData": "testData1"}, {"testData": "testData2"}, {"testData": "testData3"}, {"testData": "testData4"} ] }
注意:如果你使用的是不支持集合批量提交的旧版D365 FO接口,需要使用OData标准
$batch端点提交:
- 请求地址改为
{原接口地址}/$batch- 请求头添加
Content-Type: multipart/mixed; boundary=batch_123456,boundary值可自定义,和Payload内分隔符保持一致即可- Payload采用multipart格式,参考结构如下:
--batch_123456 Content-Type: application/http Content-Transfer-Encoding: binary POST https://你的D365域名/data/你的实体名 HTTP/1.1 Content-Type: application/json {"testData": "testData1"} --batch_123456 Content-Type: application/http Content-Transfer-Encoding: binary POST https://你的D365域名/data/你的实体名 HTTP/1.1 Content-Type: application/json {"testData": "testData2"} --batch_123456--
3. 测试验证
提交请求后如果返回201状态码,同时返回的响应体中value数组包含你提交的4条数据,就说明批量插入成功。
内容的提问来源于stack exchange,提问作者Maria Lee
相关产品推荐
相关产品推荐

