function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
hiteshwar marnihiteshwar marni 

Wrapper Class Issue in RestApi

@RestResource(urlMapping='/mhcknw/*')
global class knowledgeApi{
           @HttpGet
    global static list<wrapperclass> findrecords(){
    //string kmid='kA128000000XdZtCAK';
       list<wrapperclass> wrapperlist;

    RestRequest request = RestContext.request;
         RestResponse res = RestContext.response;
        string kmId = request.requestURI.substring(
          request.requestURI.lastIndexOf('/')+1);
          system.debug('######'+kmid);
    
    list<KnowledgeArticleVersion> ka=[SELECT Id,KnowledgeArticleId,Language,PublishStatus,Summary,Title FROM KnowledgeArticleVersion WHERE PublishStatus = 'online' AND Language = 'en_US' and KnowledgeArticleId =:kmid];
        system.debug('@@@@@@'+ka);

   list<hitesh31__Test_Art__kav> htak= [SELECT ArticleNumber,ArticleType,Id,KnowledgeArticleId,Language,PublishStatus,Summary FROM hitesh31__Test_Art__kav WHERE Language = 'en_US' AND PublishStatus = 'online' AND KnowledgeArticleId =:kmid];
     system.debug('*******'+htak);
     for(KnowledgeArticleVersion ka1:ka){
         for(hitesh31__Test_Art__kav htak1:htak){
             wrapperlist.add(new wrapperclass(Ka1,htak1));
    system.debug('&&&&&&&'+wrapperlist);


         }
     }

        return wrapperlist;
    
    
    } 
    
    global class wrapperclass{
    public KnowledgeArticleVersion kversion;
    public hitesh31__Test_Art__kav katype;
        public wrapperclass(KnowledgeArticleVersion kn,hitesh31__Test_Art__kav k ){
           kversion=kn;
            katype=k;
    }

}
}

In the above class i'm able to get records into the above two queries.but when i' calling this api from workbench it throwing nullpointer exception.I think there is some problem in wrapperlist.i'm not able to debug that, but records are getting into the query's.
MahenderMahender
wrapperlist is just declared and not instantiated. Thus, you are getting null in the wrapper class.

the code should look like below in order to work properly

@RestResource(urlMapping='/mhcknw/*')
global class knowledgeApi{
           @HttpGet
    global static list<wrapperclass> findrecords(){
    //string kmid='kA128000000XdZtCAK';
       list<wrapperclass> wrapperlist=new list<wrapperclass>();

    RestRequest request = RestContext.request;
         RestResponse res = RestContext.response;
        string kmId = request.requestURI.substring(
          request.requestURI.lastIndexOf('/')+1);
          system.debug('######'+kmid);
    
    list<KnowledgeArticleVersion> ka=[SELECT Id,KnowledgeArticleId,Language,PublishStatus,Summary,Title FROM KnowledgeArticleVersion WHERE PublishStatus = 'online' AND Language = 'en_US' and KnowledgeArticleId =:kmid];
        system.debug('@@@@@@'+ka);

   list<hitesh31__Test_Art__kav> htak= [SELECT ArticleNumber,ArticleType,Id,KnowledgeArticleId,Language,PublishStatus,Summary FROM hitesh31__Test_Art__kav WHERE Language = 'en_US' AND PublishStatus = 'online' AND KnowledgeArticleId =:kmid];
     system.debug('*******'+htak);
     for(KnowledgeArticleVersion ka1:ka){
         for(hitesh31__Test_Art__kav htak1:htak){
             wrapperlist.add(new wrapperclass(Ka1,htak1));
    system.debug('&&&&&&&'+wrapperlist);


         }
     }

        return wrapperlist;
    
    
    } 
    
    global class wrapperclass{
    public KnowledgeArticleVersion kversion;
    public hitesh31__Test_Art__kav katype;
        public wrapperclass(KnowledgeArticleVersion kn,hitesh31__Test_Art__kav k ){
           kversion=kn;
            katype=k;
    }

}
}