-
Couldn't load subscription status.
- Fork 250
Closed
Description
When jsonLibrary=gson is set, the type declarations for a Java interface includes its static members.
public class Demo {
public static String THIS_FIELD_SHOULD_NOT_BE_INCLUDED;
public String thisShouldBeIncluded;
}results in something like (when generating classes as interfaces)
export interface Demo {
THIS_FIELD_SHOULD_NOT_BE_INCLUDED: string ;
thisShouldBeIncluded: string;
}Unless I'm missing something and this is by design (?), they should not be included, at least not when generating typescript interfaces:
- The default
new Gson().toJson(someObjectImplementingTheInterfaceWithStaticField)does not seem to includde static fields - TypeScript does not support static fields in interfaces
jsonLibrary=jackson2for static fields also does not seem to include static fields on interfaces
A quick look at the code in the debugger seems like a Modifier.isStatic check in the GsonParser should be enough to solve this:
