스프링 부트 웹 애플리케이션에 업로드 된 파일에 대한 정보가 기록 된 JPA 엔티티 Medium
이 있습니다. Spring 데이터를 저장합니다. 사용자 정의 컨트롤러에 JPA 엔티티를 저장하고 HAL 표현을 반환합니다.
@RepositoryRestResource(path = "/media")
public interface MediumRepository extends CrudRepository<Medium, Long> {
}
를, 내가 HTTP 다중 업로드를 사용하여 파일을 업로드 할 클라이언트가 필요합니다, 다음 Medium
기록을 작성하고 그것을 반환 응답. 응답 구조는 repository.save()
과 동일해야합니다. 내가 알 수없는 것은 HATEOAS 메타 데이터를 추가하는 방법입니다. 물론, 난 그냥
return mediumRepository.save(medium);
가 엔티티, 아니 HATEOAS의 기본 JSON 표현을 반환합니다 반환합니다. 내가 already learned이라고 말하면 아마도 PersistentEntityResourceAssembler
을 사용해야합니다.
그래서, 내 현재의 컨트롤러 코드는 다음과 같습니다 그러나
@RestController
@RequestMapping("/upload")
public class MediaEndpoint {
@Autowired
private MediumRepository mediumRepository;
@RequestMapping(method = POST)
public PersistentEntityResource uploadMedium(
@RequestPart MultipartFile data,
PersistentEntityResourceAssembler persistentEntityResourceAssembler) {
Medium medium = new Medium();
// setup of the medium instance
Medium savedMedium = mediumRepository.save(medium);
return persistentEntityResourceAssembler.toResource(savedMedium);
}
}
, 나는 방법에 주입 된 persistentEntityResourceAssembler
얻을 수 없다 - 나는
Failed to instantiate [org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler]: No default constructor found; nested exception is java.lang.NoSuchMethodException: org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler.<init>()
가 어떻게이 구현할 수 얻고 있습니까?
이것은 올바른 방향으로 나를 샀다. 나는 다른 조정을해야했고, 내 대답을 보았다. –