J'ai un contrôleur de printemps avec une méthode mappée sur demande:contrôleur ressort avec classe interne comme paramètre
@RequestMapping(value = "/album", method = RequestMethod.POST)
public void generateAlbum(GenerateAlbumParams params, HttpServletResponse response){
...
}
GenerateAlbumParams est une classe simple:
@Getter
@Setter
public class GenerateAlbumParams {
public enum Position {LEFT_TOP, LEFT_BOTTOM, RIGHT_TOP, RIGHT_BOTTOM}
private List<SlideParams> slideParams = new ArrayList<>();
}
et SlideParams est- :
@Getter
@Setter
public class SlideParams{
private Boolean checked = false;
private Long id;
private GenerateAlbumParams.Position mapLegendPosition;
private GenerateAlbumParams.Position mapTablePosition;
}
Tout fonctionne très bien, mais si je veux faire SlideParams comme classe interne de GenerateAlbumParams:
@Getter
@Setter
public class GenerateAlbumParams {
public enum Position {LEFT_TOP, LEFT_BOTTOM, RIGHT_TOP, RIGHT_BOTTOM}
private List<SlideParams> slideParams = new ArrayList<>();
@Getter
@Setter
public class SlideParams{
private Boolean checked = false;
private Long id;
private Position mapLegendPosition;
private Position mapTablePosition;
}
}
il thows une exception:
HTTP Status 500 - Traitement des requêtes n'a pas; l'exception imbriquée est org.springframework.beans.InvalidPropertyException: propriété non valide 'slideParams [0]' de la classe du bean [xxx.GenerateAlbumParams]: Illégal tentative d'obtention de la propriété 'slideParams' exception lancée; imbriqué exception est org.springframework.beans.NullValueInNestedPathException: propriété non valide 'slideParams' de la classe de haricot [xxx.GenerateAlbumParams]: Impossible instancier type de propriété [xxx.GenerateAlbumParams $ SlideParams] au chemin de la propriété auto-croissance imbriquée ; l'exception imbriquée est org.springframework.beans.BeanInstantiationException: Echec à instanciation [xxx.GenerateAlbumParams $ SlideParams]: Est-ce une classe abstraite ?; exception imbriquée est java.lang.InstantiationException: xxx.GenerateAlbumParams $ SlideParams