Par défaut, Spring Data REST n'affiche pas les ressources associées sauf en tant que liens. Si vous voulez que vous deviez définir des projections qui décrivent les champs que vous voulez voir, qu'il s'agisse de champs simples comme ceux que vous décrivez ou de ressources associées. Voir
http://docs.spring.io/spring-data/rest/docs/current/reference/html/#projections-excerpts
Par exemple que vous avez une ressource Service
avec des associations aux ressources comme serviceType
, serviceGroup
, owner
, serviceInstances
et docLinks
. Si vous voulez qu'elles apparaissent dans le corps de réponse, vous pouvez créer une projection:
package my.app.entity.projection;
import org.springframework.data.rest.core.config.Projection;
...
@Projection(name = "serviceDetails", types = Service.class)
public interface ServiceDetails {
String getKey();
String getName();
ServiceType getType();
ServiceGroup getGroup();
Person getOwner();
List<ServiceInstance> getServiceInstances();
List<DocLink> getDocLinks();
String getPlatform();
}
obtenez alors votre URL avec la projection:
http://localhost:8080/api/services/15?projection=serviceDetails
Le résultat comprendra les propriétés projetées:
{
"name" : "MegaphoneService",
"key" : "megaphone",
"type" : {
"key" : "application",
"name" : "User Application",
"description" : "A service that allows users to use a megaphone."
},
"owner" : null,
"serviceInstances" : [ {
"key" : "megaphone-a-dr",
"description" : null,
"loadBalanced" : true,
"minCapacityDeploy" : null,
"minCapacityOps" : 50
}, ... ],
...
}
Utilisez-vous Spring Data REST? Regardez dans les projections si oui. –
J'utilise Spring Data REST. Que voulez-vous dire par "projections"? – rala