如何使用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 服务:正文序列化

如何使用 Flask-rest-jsonapi / JSON API 在同一个 POST 方法中创建对象和相关对象?

如何在 Slim 中访问 POST 请求的 JSON 请求正文?