Tôi đang cố truy cập bộ sưu tập mongodb qua SDR. Làm việc với các phiên bản sau hiệnphần còn lại dữ liệu mùa xuân mongodb java.lang.IllegalArgumentException: PersistentEntity không được rỗng
<spring.version>4.1.9.RELEASE</spring.version>
<spring-data-rest>2.4.4.RELEASE</spring-data-rest>
<spring-data-mongodb>1.8.4.RELEASE</spring-data-mongodb>
kho của tôi trông giống như
@RepositoryRestResource
@PreAuthorize("hasAuthority('ROLE_USER')")
public interface LinksRepository extends MongoRepository<Link, String> {
Page<Link> findAllByUsefulURLRegex(@Param("regex") String regex, Pageable p);
Mô hình của tôi được định nghĩa như sau
@Document(collection = "links")
public class Link {
public Link() {}
@Id
private String id;
Khi tôi nhấn http://localhost:9090/api/links tôi nhận được ngoại lệ sau đây
java.lang.IllegalArgumentException: PersistentEntity must not be null!
at org.springframework.util.Assert.notNull(Assert.java:112)
at org.springframework.data.rest.webmvc.PersistentEntityResource$Builder.<init>(PersistentEntityResource.java:139)
at org.springframework.data.rest.webmvc.PersistentEntityResource$Builder.<init>(PersistentEntityResource.java:122)
at org.springframework.data.rest.webmvc.PersistentEntityResource.build(PersistentEntityResource.java:114)
at org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler.wrap(PersistentEntityResourceAssembler.java:102)
at org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler.toResource(PersistentEntityResourceAssembler.java:83)
at org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler.toResource(PersistentEntityResourceAssembler.java:45)
at org.springframework.data.web.PagedResourcesAssembler.createResource(PagedResourcesAssembler.java:182)
at org.springframework.data.web.PagedResourcesAssembler.toResource(PagedResourcesAssembler.java:115)
at org.springframework.data.rest.webmvc.AbstractRepositoryRestController.entitiesToResources(AbstractRepositoryRestController.java:127)
at org.springframework.data.rest.webmvc.AbstractRepositoryRestController.toResources(AbstractRepositoryRestController.java:88)
at org.springframework.data.rest.webmvc.AbstractRepositoryRestController.toResource(AbstractRepositoryRestController.java:110)
at org.springframework.data.rest.webmvc.RepositorySearchController.executeSearch(RepositorySearchController.java:185)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:222)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:775)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:965)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:856)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
Đào một chút tôi thấy MongoMappingContext không có lớp Liên kết như nó phải (tôi đoán)
Tôi đã dành vài giờ cố gắng tìm nó ra nhưng không có may mắn. Tôi là không sử dụng khởi động mùa xuân và nó cảm thấy nó có thể là một vấn đề ObjectMapper nhưng tôi không biết, tên miền của tôi và thiết lập là đơn giản .... bất kỳ trợ giúp được đánh giá cao.
Xin cảm ơn trước.
Bạn đã quản lý để tìm ra nguyên nhân gây ra lỗi cho bạn? Tôi đang sử dụng bản phát hành nền tảng "Athens-SR3' của Spring Platform và đang chạy vào cùng một vấn đề với MongoDB và' PersistentEntityResourceAssembler'. – woemler
Không, tôi không xin lỗi. Kể từ khi nó làm việc tôi đã ngừng chơi với cấu hình này. Tôi chắc chắn ngay sau khi tôi nâng cấp hoặc một cái gì đó tôi sẽ phải xem lại nó ... – felipe
FWIW, tôi nhận được lỗi này trong các thử nghiệm của tôi với 'MockMvc', nhưng không phải khi chạy ứng dụng với Spring Boot. – woemler