Использование Spring-data-jpa представляет скрытие идентификатора и других свойств модели.Я перепробовал все возможные решения онлайн и, похоже, не работает.Я хочу отобразить все, что возвращается как нулевые значения. Предоставление всех идентификаторов при использовании Spring Data Rest
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.type.filter.AnnotationTypeFilter;
import org.springframework.data.rest.core.config.RepositoryRestConfiguration;
import org.springframework.data.rest.webmvc.config.RepositoryRestConfigurer;
import org.springframework.hateoas.config.EnableEntityLinks;
import org.springframework.hateoas.config.EnableHypermediaSupport;
import org.springframework.stereotype.Component;
import javax.persistence.Entity;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.util.Set;
@Configuration
@Component
@EnableEntityLinks
@EnableHypermediaSupport(type = EnableHypermediaSupport.HypermediaType.HAL)
public class RepositoryConfig implements RepositoryRestConfigurer {
@PersistenceContext
private EntityManager entityManager;
@Override
public void configureRepositoryRestConfiguration(final RepositoryRestConfiguration config) {
final ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(false);
provider.addIncludeFilter(new AnnotationTypeFilter(Entity.class));
final Set<BeanDefinition> beans = provider.findCandidateComponents("io.christdoes.wealth.tracker.entity");
for (final BeanDefinition bean : beans) {
try {
config.exposeIdsFor(Class.forName(bean.getBeanClassName()));
} catch (final ClassNotFoundException e) {
// Can't throw ClassNotFoundException due to the method signature. Need to cast it
throw new IllegalStateException("Failed to expose `id` field due to", e);
}
}
}
}
Когда я размещаю сообщение на Restclient, оно возвращает нулевые значения для свойств.Я проверил таблицы базы данных, значения есть, но не отображаются.Что мне делать?
Это ответ, который я получил на restclient
{
"permission": {
"createdBy": null,
"createdDate": null,
"lastModifiedBy": null,
"lastModifiedDate": null,
"id": null,
"name": "CREATE_tes"
},
"_links": {
"permission": {
"href": "http://localhost:8003/permission"
},
"self": {
"href": "http://localhost:8003/permission/id/{id}",
"templated": true
}
}
}