You'll need to place Jackson annotations on every course that may be passed as parameter T to class Information in order that the kind details about parameter type T is often go through from / published to JSON string by Jackson.If you do not will need generic parameters and just wish to differentiate in between these three conditions at compile ti