Можно ли сделать хранилище доступным как ресурс отдыха с помощью аннотации @RepositoryRestResource
Async?Или, другими словами, я хочу, чтобы методы сохранения, поиска и т. Д. Были асинхронными, а ResponseEntityController
также обрабатывал их как асинхронные вызовы?
Если я просто пометил хранилище как синхронизированный, мой запрос POST завершился неудачно, потому что этот метод наResponseEntityController
не будет обрабатывать асинхронные постоянные вызовы для репозитория
private ResponseEntity<ResourceSupport> createAndReturn(Object domainObject, RepositoryInvoker invoker,
PersistentEntityResourceAssembler assembler, boolean returnBody) {
publisher.publishEvent(new BeforeCreateEvent(domainObject));
Object savedObject = invoker.invokeSave(domainObject);
publisher.publishEvent(new AfterCreateEvent(savedObject));
Optional<PersistentEntityResource> resource = Optional
.ofNullable(returnBody ? assembler.toFullResource(savedObject) : null);
HttpHeaders headers = headersPreparer.prepareHeaders(resource);
addLocationHeader(headers, assembler, savedObject);
return ControllerUtils.toResponseEntity(HttpStatus.CREATED, headers, resource);
}
вот мой репозиторий
@RepositoryRestResource(path = "companies", collectionResourceRel = "companies")
public interface CompanyRepository extends CrudRepository<Company, Long> {
@Override
@RestResource(exported = false)
void delete(Company entity);
@Override
@RestResource(exported = false)
void deleteById(Long id);
@Override
@RestResource(exported = false)
void deleteAll();
@Override
@RestResource(exported = false)
void deleteAll(Iterable<? extends Company> entities);
}