I have found an issue that when calling an Apex method from Lightning that returns a class that extends an abstract class, then only the @AuraEnabled getters from the concrete class are returned, the getters from the base abstract class are not.
BaseThing
public abstract class BaseThing {
@AuraEnabled
public String getOne() {
return '1';
}
@AuraEnabled
public String getTwo() {
return '2';
}
}
ConcreteThing
public class ConcreteThing extends BaseThing {
@AuraEnabled
public String getThree() {
return '3';
}
@AuraEnabled
public String getFour() {
return '4';
}
}
NumberController
public class NumberController {
@AuraEnabled
public static ConcreteThing GetConcreteThing()
{
return new ConcreteThing();
}
}
As you can see from the screenshot of the Lightning Inspector, when this Apex action is called only the getters from the concrete class are returned:
Is this supposed to be supported, or is this a bug? I can't see anywhere in the Lightning documentation that states that this isn't supported.
