如何使用JSON正文在REST API POST方法中传递多个记录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用JSON正文在REST API POST方法中传递多个记录相关的知识,希望对你有一定的参考价值。
我有一个要求,我需要使用REST API POST方法在我的自定义对象中创建多个记录。现在的问题是我能够一次创建一条记录,而且我无法在一个REST API调用中创建多条记录。我通过传递JSON请求体在网上找到了我将能够创建多个记录。我对集成完全不熟悉,也不了解如何在一个REST API调用中创建mutilple记录,以及如何在REST API中传递JSON请求体。
请有人帮我实现你的要求。我在这里发布我的代码供参考:
@HttpPost
global static ID createAddress(String Address, String City, String FirstName, String LastName, String Phone, String Email
) {
//First find the contact id matching the email.
String ContactId = [SELECT Id
FROM Contact
WHERE Email = :Email].Id;
//Second post the new ListofAddresses to the owner of the email.
Address__c thisAddress = new Address__c(
Contact__c=ContactId,
Address__c=Address,
City__c=City,
First_Name__c=FirstName,
Last_Name__c=LastName,
Phone__c=Phone,
);
/* List<Address__c> result = [SELECT Address__c, City__c, First_Name__c, Last_Name__c, Phone__c
FROM Address__c
WHERE Contact__c = :ContactId];
if(result.size() > 0){
return null;
}else{*/
insert thisAddress;
return thisAddress.Id;
}
答案
尝试使用此代码以使用Json格式传递多个记录
@RestResource(urlMapping ='/ Account / *')全局类MyRestResource {
@HttpPost
webService static String doPost() {
Account account = new Account();
RestRequest req = RestContext.request;
List<jsonWrap> jsonWrapList = (List<jsonWrap>)JSON.deserialize(req.requestbody.tostring(),List<jsonWrap>.class);
return 'Account Success';
}
public class jsonWrap{
String Namex;
String phonex;
String websitex;
}
}
示例Json
[“”Testx“,”phonex“:”12312“,”websitex“:” “test.com”},{“Namex”:“test2”,“phonex”:“12312”,“websitex”:“test.com”}]
以上是关于如何使用JSON正文在REST API POST方法中传递多个记录的主要内容,如果未能解决你的问题,请参考以下文章
Rest API Post Json 使用带有两个参数的 C#
使用 REST API 查询 Sharepoint Online 并在正文中传递查询 (POST)
使用 Fiddler 时,Rest WCF Post Json 正文参数始终为空
使用 API POST 到 REST Web 服务:正文序列化