Skip to main content
Hi,

 

I want to count the records and display in json response but i am not stuck with no clue. any help will be appreciable.

 

My class : 

 

@RestResource(urlMapping='/sg/0.1/subscription/')

 

global with sharing class SubsRecord1 {

 

    Public Integer count {get;set;}

 

    @HttpGet

 

    global static List<ONB2__Subscription__c> getSubsById() {

 

        RestRequest request = RestContext.request;

 

        List<ONB2__Subscription__c>  result =  [select id , name FROM ONB2__Subscription__c where ONB2__Status__c =:'Active'];

 

        return result;

 

    }

 

}

 

Json response for counting records like

 

{ "activeSubscriptions": [ { "id": "[[Subscription Id 1]]", "name": "[[Subscription Name 1]]" }, { "id": "...", "name": "..." } ], "countActiveSubscriptions": "[[n]]" }

 

I shall be grateful for any cooperation.

 

Thanks and regards
16 个回答
  1. 2020年8月10日 11:09
    Ahhh, well that's... not great :D

     

    What if we try to convert it to JSON manually?

     

    @RestResource(urlMapping='/sg/0.1/subscription/')

     

    global with sharing class SubsRecord1 {

     

        @HttpGet

     

        global static void getSubsBystatus() {

     

            RestRequest request = RestContext.request;

     

            Restresponse res = restcontext.response;

     

            List<ONB2__Subscription__c>  activesubscription =  [select id , name FROM ONB2__Subscription__c where ONB2__Status__c =:'Active'];

     

            Integer countactivesubscription = activesubscription.size();

     

            map<string,object> result = new map<string,object>();

     

            result.put('activesubscription', activeSubscription);

     

            result.put('countactivesubscription',countactivesubscription);

     

            res.responseBody = Blob.valueOf(JSON.serialize(result));

     

            res.statusCode = 200;

     

        }

     

    }
0/9000