Rest class :
@RestResource(urlMapping='/uhb/sdefs/')
global with sharing class GSSRestResourceChatter{
@HttpPatch
global static String doPost(){
List<ChatterDTO> fieldParsers = (List<ChatterDTO>)JSON.deserialize(
RestContext.request.requestBody.tostring(),
List<ChatterDTO>.class);
System.debug('REST Context>>>>>>>>>>>'+RestContext.request.requestBody.tostring());
System.debug('fieldParsers>>>>>>>>>>>'+fieldParsers);
// do something
}
global class ChatterDTO{
public String ParentId{ get; set; }
public String Body { get; set; }
}
}
Test class:
@isTest
private class Test_GSSRestResourceChatter {
static testmethod void testGSSRestResourceChatter(){
Account a = new Account(Name='Tester',
AccountNumber='101552',
Account_Group__c = 'Sold To Party'
);
insert a;
System.debug('accountid>>>>>' +a.Id);
Test.startTest();
RestRequest req = new RestRequest();
RestResponse res = new RestResponse();
String jsonm ='[{"Some String"}]';
req.requestURI = 'https://ap2.salesforce.com/services/apexrest/uhb/sdefs/';
req.httpMethod = 'POST';
req.requestBody = Blob.valueof(jsonm);
RestContext.request = req;
RestContext.response = res;
GSSRestResourceChatter.doPost();
GSSRestResourceChatter.ChatterDTO thisChatter = GSSRestResourceChatter.doPost();
// System.assert(thisChatter!=null);
System.assertEquals(thisChatter.ParentId, String.valueOf(a.Id));
Test.stopTest();
}
}
I am getting error while saving the test class as
Compile Error: Illegal assignment from String to GSSRestResourceChatter.ChatterDTO at line 23 column 43
Please help me to sort out the error