У меня есть требование, когда мне нужно создать несколько записей в моем пользовательском объекте, используя метод POST REST API. Теперь проблема в том, что я могу создавать одну запись за раз, и я не могу создавать несколько записей в одном вызове REST API. Я нашел в сети, передав тело запроса JSON, я смогу создать несколько записей. Я совершенно новичок в интеграции и не понимаю, как создавать несколько записей в одном вызове REST API и как я могу передать тело запроса JSON в свой REST API.
Может кто-нибудь помочь мне в достижении моего требования, пожалуйста. Здесь я публикую свой код для справки:
@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='/Учетная запись/*') глобальный класс 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
[ { «Имекс»: «тест1», "фонекс": "12312", "веб-сайт": "test.com" }, { «Имекс»: «тест2», "фонекс": "12312", "веб-сайт": "test.com" }, { «Имекс»: «тест2», "фонекс": "12312", "веб-сайт": "test.com" } ]