をインスタンス化に失敗しましたは、私は次のコードでは、私は、ユーザーのセッションを取得したいが、私はAPIを呼び出すとき、それは私の詳細は以下の通りですエラーを与え、春のフレームワークを使用していますPersistentEntityResourceAssembler
コントローラ
@Controller()
public class SessionController {
@Autowired UserRepository userRepo;
@RequestMapping(value = "api/session", method = RequestMethod.GET)
public @ResponseBody ResponseEntity<?> getUserSession(Authentication authentication,
PersistentEntityResourceAssembler assembler){
User user = null;
if(authentication != null && authentication.getPrincipal() !=null){
GalaxUser principal = (GalaxUser) authentication.getPrincipal();
user = userRepo.findByName(principal.getUsername());
}
if(user==null){
return ResponseEntity.status(HttpStatus.UNAUTHORIZED).build();
}
return ResponseEntity.ok(assembler.toResource(user));
}
}
API:http://localhost:8080/api/session
エラー:
org.springframework.beans.BeanInstantiationException: 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>()
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:105)
at org.springframework.web.method.annotation.ModelAttributeMethodProcessor.createAttribute(ModelAttributeMethodProcessor.java:141)
at org.springframework.web.servlet.mvc.method.annotation.ServletModelAttributeMethodProcessor.createAttribute(ServletModelAttributeMethodProcessor.java:81)
at org.springframework.web.method.annotation.ModelAttributeMethodProcessor.resolveArgument(ModelAttributeMethodProcessor.java:101)
at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121)
at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:158)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:128)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
実際のエラー: あなたは@Controller
の代わりに@RepositoryRestController
を使用する必要があります[org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler]: No default constructor found; nested exception is java.lang.NoSuchMethodException: org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler.<init>()
から
PersistentEntityResourceAssembler assembler
を削除...今では、セッションの方法を見つけ、404 – SFAHあなたのマッピングが作業イマイチのように、あなたが実際のエラーログを共有することができますを返すカントbcoz上記の変更の – Mudassar
編集した質問を確認してください – SFAH