Spring Content был разработан именно для этого.
Предполагая, что вы используете Spring Boot, вы можете добавить обработку LOB следующим образом:
пом.xml
<dependency>
<groupId>com.github.paulcwarren</groupId>
<artifactId>spring-content-jpa-boot-starter</artifactId>
<version>0.0.11</version>
</dependency>
<dependency>
<groupId>com.github.paulcwarren</groupId>
<artifactId>spring-content-rest-boot-starter</artifactId>
<version>0.0.11</version>
</dependency>
Добавить магазин:
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@StoreRestResource(path="resourceContent")
public interface ResourceContentStore extends ContentStore<Resource,String> {}
}
Свяжите контент с вашей сущностью:
@Entity
public class Resource {
private String name;
@ContentId
private String contentId;
@ContentLength
private long contentLength = 0L;
@MimeType
private String mimeType = "text/plain";
}
Это все, что вам нужно. Когда ваше приложение запускается, Spring Content увидит зависимости от модулей Spring Content JPA/REST и внедрит реализацию хранилища ResourceContentStore
для JPA, а также реализацию контроллера (в /resourceContent
), который поддерживает отображение GET, POST, Запросы PUT и DELETE на базовый интерфейс Store. Конечная точка REST будет доступна в разделе.
i.e.
curl -X PUT /resourceContent/{resourceId}
создаст или обновит содержимое ресурса
curl -X GET /resourceContent/{resourceId}
будет получать содержимое ресурса
curl -X DELETE /resourceContent/{resourceId}
удалит содержимое ресурсов
здесь есть несколько руководств по началу работы. Они используют Spring Content для файловой системы, но модули взаимозаменяемы. Справочное руководство по JPA находится здесь. Также есть обучающее видео здесь.
ХТН
person
Paul Warren
schedule
18.05.2018