2017-03-05 1 views
1

J'ai essayé d'ajouter une nouvelle collection à mon API/DB aujourd'hui, et quand j'essaie de POST ou GET, je reçois cette réponse d'erreur 500:SpringBoot MongoDB retourne "L'identifiant doit être assignable à Serializable! L'objet de la classe [null] doit être une instance de l'interface java.io.Serializable"

{ 
    "cause": null, 
    "message": "Id must be assignable to Serializable! Object of class [null] must be an instance of interface java.io.Serializable" 
} 

Cependant, le POST est en fait avec succès, je peux voir les nouvelles données dans la base de données.

Modèle:

@Setter 
@Getter 
public class League { 

    private String name; 
    private String shortName; 
    private List<Team> teams; 
} 

Repository:

@RepositoryRestResource(collectionResourceRel = "leagues", path = "leagues", excerptProjection = LeagueProjection.class) 
public interface LeagueRepository extends MongoRepository<League, String> { 

} 

Projection:

@Projection(name="LeagueProjection", types={League.class}) 
public interface LeagueProjection { 

    String getName(); 
    String getShortName(); 
} 

Je ne suis pas en train de faire quoi que ce soit spec ial. J'ai plusieurs autres collections qui fonctionnent bien. J'utilise spring-boot 1.5.1.

Merci!

Répondre

2

Ajout du champ:

@Id private String id; 

à mon modèle semble avoir résolu le problème.