Ok, j'essaie vraiment dur d'aimer HATEOAS. Spring Boot avec ses dépôts REST est incroyable. Est-ce que tout ce que je veux? J'ai juste deux exigences qui ne devraient pas être si rares. Alors, comment dois-je faire ce qui suit:Comment aimer Spring Hateoas résoudre à des exigences simples
Étant donné que j'ai les deux entités suivantes:
@Entity()
public class GameConsole{
@Id
private String name;
}
@Entity()
public Class Game{
@Id
private String name;
@ManyToOne
private GameConsole gameConsole;
}
Supposons que je REST Référentiels exposer les deux entités.
1 - Comment puis-je générer une liste de table avec les noms des jeux et les noms des consoles avec une requête:
Demande de GET -/jeux En utilisant tout cadre, jQuery, angulaire, doesn « t importe, juste remplir les éléments suivants:
| Game console | Game |
| PS4 | Uncharted |
| XBOX | HALO |
le problème est que quand je fais une recherche/jeux, je reçois une liste de jeux avec des liens vers/jeux/auréole/gameconsole, et non l'ID réel de la gameconsole . Est-ce que cela signifie que je dois boucler et interroger chaque élément pour obtenir le nom de la console de jeu?
2 - le menu déroulant
Disons que j'ai une page Web pour modifier mon jeu. Et je veux ajouter un menu déroulant et mettre la console de jeu mise à jour. Pour remplir mon menu déroulant, j'interroge/gameConsoles et j'obtiens une liste de consoles. Encore une fois mon problème ici est que l'identifiant que je reçois du jeu est lié au/game/halo/gameConsole qui ne peut être associé à aucun des éléments retournés par/gameConsoles.
Comment résoudre ce problème?
Vraiment apprécier la patience les gars au cas où la réponse est simple.
La projection s'effectue au niveau de l'objet et non au niveau de la liste. Sauf si je me trompe. – Rafael
Vous pouvez également utiliser des projections au niveau de la liste. Si vous utilisez l'annotation @RepositoryRestResource dans votre application, vous pouvez même définir la projection par défaut pour les éléments répertoriés sous "_embedded" en définissant l'option "excerptProjection". – dcpastoors