EmbeddedId로 인해 BackendIdConverter.fromRequestId가 실패했습니다.

yk42b

embeddedId다음과 같이 정의 된 클래스와 클래스가 있습니다.

@Entity
@Data
@RestResource
public class Protocol {

    private @Version Long version;
    private @LastModifiedDate @JsonIgnore LocalDateTime lastModifiedDate;

    //protocol summary level
    @EmbeddedId ProtocolId protocolId;
    private Boolean isDefault;
    private String name;
    private String patientOrientation;
    private String patientPosition;

    //protocol detail level

}

@Embeddable
public class ProtocolId implements Serializable {
    private String id;
    private String anatomy;


    public String getId() {
        return id;
    }

    public String getAnatomy() {
        return anatomy;
    }

    public ProtocolId(String anatomy, String id) {
        this.anatomy = anatomy;
        this.id = id;
    }

    public ProtocolId() {

    }

}

URI를으로 구현하기 위해 protocols/anatomy_id아래와 같이 변환기 클래스를 정의합니다.

@Component
public class ProtocolIdConverter implements BackendIdConverter {

    @Override
    public Serializable fromRequestId(String id, Class<?> entityType) {
        String[] parts = id.split("_");
        return new ProtocolId(parts[0], parts[1]);
    }

    @Override
    public String toRequestId(Serializable source, Class<?> entityType) {
        ProtocolId id = (ProtocolId)source;
        return String.format("%s_%s", id.getAnatomy(), id.getId());
    }

    @Override
    public boolean supports(Class<?> type) {
        return Protocol.class.equals(type);
    }
}

toRequestId내가 원하는대로 잘 작동하지만 fromRequestId호출되면 다음과 같이 예외가 발생합니다.

org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [com.ge.med.mict.expressmode.protocolmanagement.domain.ProtocolId] to type [java.lang.Long]
at org.springframework.core.convert.support.GenericConversionService.handleConverterNotFound(GenericConversionService.java:324) ~[spring-core-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:206) ~[spring-core-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:187) ~[spring-core-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.data.repository.support.ReflectionRepositoryInvoker.convertId(ReflectionRepositoryInvoker.java:277) ~[spring-data-commons-1.13.4.RELEASE.jar:na]
at org.springframework.data.repository.support.CrudRepositoryInvoker.invokeFindOne(CrudRepositoryInvoker.java:91) ~[spring-data-commons-1.13.4.RELEASE.jar:na]
at org.springframework.data.rest.core.support.UnwrappingRepositoryInvokerFactory$UnwrappingRepositoryInvoker.invokeFindOne(UnwrappingRepositoryInvokerFactory.java:130) ~[spring-data-rest-core-2.6.4.RELEASE.jar:na]
at org.springframework.data.rest.webmvc.RepositoryEntityController.getItemResource(RepositoryEntityController.java:524) ~[spring-data-rest-webmvc-2.6.4.RELEASE.jar:na]
at org.springframework.data.rest.webmvc.RepositoryEntityController.getItemResource(RepositoryEntityController.java:335) ~[spring-data-rest-webmvc-2.6.4.RELEASE.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_131]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_131]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_131]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_131]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133) ~[spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97) ~[spring-webmvc-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827) ~[spring-webmvc-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738) ~[spring-webmvc-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) ~[spring-webmvc-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967) ~[spring-webmvc-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) ~[spring-webmvc-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) ~[spring-webmvc-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) ~[spring-webmvc-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:635) ~[tomcat-embed-core-8.5.15.jar:8.5.15]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) ~[spring-webmvc-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) ~[tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) ~[tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) ~[tomcat-embed-websocket-8.5.15.jar:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.15.jar:8.5.15]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) ~[spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.15.jar:8.5.15]
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:105) ~[spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.15.jar:8.5.15]
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81) ~[spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.15.jar:8.5.15]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) ~[spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) ~[tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455) [tomcat-embed-core-8.5.15.jar:8.5.15]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-8.5.15.jar:8.5.15]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_131]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-8.5.15.jar:8.5.15]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]

왜 이런 일이 발생합니까?

yk42b

그것을 알아 냈습니다. 연장하기 위해 잘못된 ID 유형을 사용했습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

예외로 인해 Cordova 빌드가 실패했습니다.

분류에서Dev

실패 : 예외로 인해 빌드가 실패했습니다. 이온으로

분류에서Dev

실패 : 예외로 인해 빌드가 실패했습니다. 이온

분류에서Dev

SQLite로 인해 Heroku 푸시가 실패했지만 제거했다고 생각했습니다.

분류에서Dev

moongoose 및 dict로 인해 어레이로 캐스트가 실패했습니다.

분류에서Dev

org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor로 인해 ElasticSearch BulkShardRequest가 실패했습니다.

분류에서Dev

예외로 인해 Flutter firebase_ml_vision 빌드가 실패했습니다.

분류에서Dev

xlPageBreakPreview로 인해 'Window'개체의 'View'메서드가 실패했습니다.

분류에서Dev

중복 레코드로 인해 PHP에서 usort가 실패했습니다.

분류에서Dev

Socket.io가 nsp로 인해 연결에 실패했습니다.

분류에서Dev

" 'prepublish'스크립트가 상태 코드 34로 인해 실패했습니다."

분류에서Dev

Systemd-Networkd BindCarrier가 "알 수없는 lvalue"로 인해 실패했습니다.

분류에서Dev

socket.gaierror [11001] (python) (mqtt)로 인해 getaddrinfo가 실패했습니다.

분류에서Dev

STM8의 cpputest가 여러 'main'으로 인해 실패했습니다.

분류에서Dev

실패 코드 바 예외로 인해 빌드가 실패했습니다. 빌드 명령 실행시

분류에서Dev

경고 : RequireJS 실패로 인해 모든 검사가 실패했습니다. 계속하려면 --force 사용

분류에서Dev

Anaconda Python Conda pipbuild가 WindowsError로 인해 실패했습니다. 파일을 찾을 수 없습니다.

분류에서Dev

"잘못된 인수"로 인해 chrt 설정 프로세스가 SCHED_OTHER 정책에 실패했습니다.

분류에서Dev

afollestad materialdialogs 라이브러리 gradle 동기화가 aapt 파일 분해로 인해 실패했습니다.

분류에서Dev

CFNetwork SSLHandshake가 AFNetworking 2.0, 자체 서명 된 인증서 및 [정책 setAllowInvalidCertificates : YES]로 인해 실패했습니다.

분류에서Dev

Mac에서 시간 초과 인수로 인해 Robot Framework의 SSHLibrary가 실패했습니다.

분류에서Dev

새 가져 오기 규칙으로 인해 Gradle 빌드가 실패했습니다.

분류에서Dev

GitHub 작업을 사용하여 종료 코드 101로 인해 Rust 프로세스가 실패했습니다.

분류에서Dev

io.mockk.MockKException으로 인해 Android Kotlin 단위 테스트가 실패했습니다.

분류에서Dev

Xcode 연결-0이 아닌 종료 코드로 인해 명령 Ld가 실패했습니다.

분류에서Dev

libkern.h의 의미 문제로 인해 Xcode 빌드가 실패했습니다.

분류에서Dev

우분투 소프트웨어 및 "sudo snap install gimp"로 인해 김프 설치가 실패했습니다.

분류에서Dev

부트 스트랩 시간 초과로 인해 "Ubuntu OpenStack 설치 : 정식 배포"가 실패했습니다.

분류에서Dev

아직 사용할 수없는 네트워크로 인해 sshd가 실패했습니다.

Related 관련 기사

  1. 1

    예외로 인해 Cordova 빌드가 실패했습니다.

  2. 2

    실패 : 예외로 인해 빌드가 실패했습니다. 이온으로

  3. 3

    실패 : 예외로 인해 빌드가 실패했습니다. 이온

  4. 4

    SQLite로 인해 Heroku 푸시가 실패했지만 제거했다고 생각했습니다.

  5. 5

    moongoose 및 dict로 인해 어레이로 캐스트가 실패했습니다.

  6. 6

    org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor로 인해 ElasticSearch BulkShardRequest가 실패했습니다.

  7. 7

    예외로 인해 Flutter firebase_ml_vision 빌드가 실패했습니다.

  8. 8

    xlPageBreakPreview로 인해 'Window'개체의 'View'메서드가 실패했습니다.

  9. 9

    중복 레코드로 인해 PHP에서 usort가 실패했습니다.

  10. 10

    Socket.io가 nsp로 인해 연결에 실패했습니다.

  11. 11

    " 'prepublish'스크립트가 상태 코드 34로 인해 실패했습니다."

  12. 12

    Systemd-Networkd BindCarrier가 "알 수없는 lvalue"로 인해 실패했습니다.

  13. 13

    socket.gaierror [11001] (python) (mqtt)로 인해 getaddrinfo가 실패했습니다.

  14. 14

    STM8의 cpputest가 여러 'main'으로 인해 실패했습니다.

  15. 15

    실패 코드 바 예외로 인해 빌드가 실패했습니다. 빌드 명령 실행시

  16. 16

    경고 : RequireJS 실패로 인해 모든 검사가 실패했습니다. 계속하려면 --force 사용

  17. 17

    Anaconda Python Conda pipbuild가 WindowsError로 인해 실패했습니다. 파일을 찾을 수 없습니다.

  18. 18

    "잘못된 인수"로 인해 chrt 설정 프로세스가 SCHED_OTHER 정책에 실패했습니다.

  19. 19

    afollestad materialdialogs 라이브러리 gradle 동기화가 aapt 파일 분해로 인해 실패했습니다.

  20. 20

    CFNetwork SSLHandshake가 AFNetworking 2.0, 자체 서명 된 인증서 및 [정책 setAllowInvalidCertificates : YES]로 인해 실패했습니다.

  21. 21

    Mac에서 시간 초과 인수로 인해 Robot Framework의 SSHLibrary가 실패했습니다.

  22. 22

    새 가져 오기 규칙으로 인해 Gradle 빌드가 실패했습니다.

  23. 23

    GitHub 작업을 사용하여 종료 코드 101로 인해 Rust 프로세스가 실패했습니다.

  24. 24

    io.mockk.MockKException으로 인해 Android Kotlin 단위 테스트가 실패했습니다.

  25. 25

    Xcode 연결-0이 아닌 종료 코드로 인해 명령 Ld가 실패했습니다.

  26. 26

    libkern.h의 의미 문제로 인해 Xcode 빌드가 실패했습니다.

  27. 27

    우분투 소프트웨어 및 "sudo snap install gimp"로 인해 김프 설치가 실패했습니다.

  28. 28

    부트 스트랩 시간 초과로 인해 "Ubuntu OpenStack 설치 : 정식 배포"가 실패했습니다.

  29. 29

    아직 사용할 수없는 네트워크로 인해 sshd가 실패했습니다.

뜨겁다태그

보관