You need to sign in to do that
Don't have an account?
SFDCDEVELOPER
Need test class for @HTTP post
@RestResource(urlMapping='/PostMethod/*')
global with sharing class myrestResource {
@HttpPost
global static void createNewRecordl(String Email, String FirstName,String LastName) {
try{
List<Person__c> tr= [Select ID, Name, Email__c from Person__c where Email__c = :Email];
system.debug('----------'+ tr.size());
if(tr.size() > 0) {
tr[0].First_Name__c=FirstName;
tr[0].Last_Name__c=LastName;
update tr[0];
Additionaldata__c tjr =new Additionaldata__c ();
tjr.Email__c=Email;
insert tjr;
RestContext.response.addHeader('Content-Type', 'application/json');
RestContext.response.responseBody = Blob.valueOf(JSON.serialize(tjr));
}
if(tr.size() == 0) {
Person__c tr1= new Person__c();
tr1.Email__c =Email;
tr1.First_Name__c=FirstName;
tr1.Last_Name__c=LastName;
insert tr1;
system.debug('----------'+ tr1);
Additionaldata__c tjr1 =new Additionaldata__c ();
tjr1.Email__c=Email;
insert tjr1;
RestContext.response.addHeader('Content-Type', 'application/json');
RestContext.response.responseBody = Blob.valueOf(JSON.serialize(tr1));
RestContext.response.responseBody = Blob.valueOf(JSON.serialize(tjr1));
}
}catch(Exception e){
// TODO Formalize as a class if this structure proves to be durable.
String jsonStr =
'{' +
'"errorCode": "' + e.getTypeName() + '", ' +
'"message": "' + e.getMessage() + '"' +
'}';
RestContext.response.addHeader('Content-Type', 'application/json');
RestContext.response.responseBody = Blob.valueOf(jsonStr);
RestContext.response.statuscode = 500;
}
}
}
global with sharing class myrestResource {
@HttpPost
global static void createNewRecordl(String Email, String FirstName,String LastName) {
try{
List<Person__c> tr= [Select ID, Name, Email__c from Person__c where Email__c = :Email];
system.debug('----------'+ tr.size());
if(tr.size() > 0) {
tr[0].First_Name__c=FirstName;
tr[0].Last_Name__c=LastName;
update tr[0];
Additionaldata__c tjr =new Additionaldata__c ();
tjr.Email__c=Email;
insert tjr;
RestContext.response.addHeader('Content-Type', 'application/json');
RestContext.response.responseBody = Blob.valueOf(JSON.serialize(tjr));
}
if(tr.size() == 0) {
Person__c tr1= new Person__c();
tr1.Email__c =Email;
tr1.First_Name__c=FirstName;
tr1.Last_Name__c=LastName;
insert tr1;
system.debug('----------'+ tr1);
Additionaldata__c tjr1 =new Additionaldata__c ();
tjr1.Email__c=Email;
insert tjr1;
RestContext.response.addHeader('Content-Type', 'application/json');
RestContext.response.responseBody = Blob.valueOf(JSON.serialize(tr1));
RestContext.response.responseBody = Blob.valueOf(JSON.serialize(tjr1));
}
}catch(Exception e){
// TODO Formalize as a class if this structure proves to be durable.
String jsonStr =
'{' +
'"errorCode": "' + e.getTypeName() + '", ' +
'"message": "' + e.getMessage() + '"' +
'}';
RestContext.response.addHeader('Content-Type', 'application/json');
RestContext.response.responseBody = Blob.valueOf(jsonStr);
RestContext.response.statuscode = 500;
}
}
}
Please find the below post for similar kind of issue
https://developer.salesforce.com/forums/?id=906F00000009AObIAM
Find the sample code below and modify according to your requirement.
Apex Class:
The test class for above code will be as below
Please mark it as solved if it helps.
Best Regards,
Nagendra.P
I tried above code but its not working.
I am not using any wrapper class in my rest class
in my case its different.