제네릭 유형의 @RequestBody

carf

Spring MVC 4.2.6 및 Jackson (2.7.3)에 문제가 있습니다. @RestController제네릭 형식을 사용하는 메서드 로 absctract 클래스를 만들었습니다 . 제네릭 객체의 유형을 전달하는이 추상 클래스를 구현합니다. 나는 사용 @RequestBody하고 DispatcherServlet던졌습니다 JsonMappingException(내 클래스의 인스턴스를 만들 수 없습니다). MappingJackson2HttpMessageConverter의 애플리케이션 콘텍스트가 구성된다.

편집 : 더 많은 정보가 추가되었습니다.

public abstract class AbsctractAnimalResource<DTO extends AnimalDTO> {

    // Doesn't work. Throws JsonMappingException. (@RequestBody)
    @RequestMapping(value = "/bar", method = POST, produces = APPLICATION_JSON_VALUE)
    public ResponseEntity<?> bar(@RequestBody DTO dto) throws Exception {
        return new ResponseEntity(dto, HttpStatus.CREATED);
    }

}

@RestController
@RequestMapping("/cat")
public class CatResource extends AbsctractAnimalResource<CatDTO> {

}

@RestController
@RequestMapping("/dog")
public class DogResource extends AbsctractAnimalResource<DogDTO> {

}


interface AnimalDTO { }
public class CatDTO implements AnimalDTO { }
public class DogDTO implements AnimalDTO { }
carf

Spring 4.2.6 클래스에서 디버그 한 후이 주석을 찾았습니다.

https://github.com/spring-projects/spring-framework/blob/4.2.x/spring-web/src/main/java/org/springframework/http/converter/json/AbstractJackson2HttpMessageConverter.java#L51

Spring 4.2.X와 Jackson 2.7.X는 함께 작동하지 않습니다. Jackson 버전을 2.6.6으로 다운 그레이드했고 이제 모든 것이 작동합니다. Spring 4.3.X는 Jackson 2.7+에서 잘 작동합니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Scala의 제네릭 유형

분류에서Dev

leftReduce 제네릭 유형의 무형 HList

분류에서Dev

제네릭 제약의 제네릭 유형

분류에서Dev

Swift : 제네릭 클래스의 제네릭 유형 비교

분류에서Dev

유형 T의 배열 (Java 제네릭)

분류에서Dev

제네릭 유형의 is_base_of

분류에서Dev

TypeScript의 다른 제네릭 유형을 통해 제네릭 유형 유지

분류에서Dev

C # 제네릭 유형

분류에서Dev

제네릭 유형 확인

분류에서Dev

제네릭 유형의 유형을 이미 알고있는 제네릭?

분류에서Dev

제네릭 유형의 비 제네릭 속성에 대한 유효성 검사

분류에서Dev

Java 제네릭-실제 유형의 제네릭 매개 변수 얻기

분류에서Dev

Rust의 다른 제네릭에 의존하는 제네릭 유형

분류에서Dev

다른 유형의 제네릭 유형 인 Infer Method-Return Type

분류에서Dev

중첩 된 제네릭 유형의 유형을 얻는 방법

분류에서Dev

Java 제네릭과 두 개의 제네릭 수퍼 유형이 혼동 됨

분류에서Dev

제네릭 유형 전달 문제

분류에서Dev

제네릭 유형 전달 문제

분류에서Dev

제네릭 유형의 반환 유형 및 인수 유형 추출

분류에서Dev

Python의 제한된 제네릭 유형 힌트

분류에서Dev

Java의 제네릭 문제

분류에서Dev

사용 된 유형 제네릭 중 하나에서 제네릭 유형 유추

분류에서Dev

제네릭 메서드의 제네릭 형식 변환

분류에서Dev

제네릭 메서드의 제네릭 형식 변환

분류에서Dev

TypeScript의 제네릭 유형에서 제네릭 유형을 추론하는 방법이 있습니까?

분류에서Dev

제네릭 유형의 제네릭 클래스에서 유형 인수에 액세스

분류에서Dev

C # 제네릭 형식의 다형성

분류에서Dev

Haskell의 기존 유형과 다른 언어의 제네릭

분류에서Dev

제네릭 유형의 메소드와의 인터페이스

Related 관련 기사

  1. 1

    Scala의 제네릭 유형

  2. 2

    leftReduce 제네릭 유형의 무형 HList

  3. 3

    제네릭 제약의 제네릭 유형

  4. 4

    Swift : 제네릭 클래스의 제네릭 유형 비교

  5. 5

    유형 T의 배열 (Java 제네릭)

  6. 6

    제네릭 유형의 is_base_of

  7. 7

    TypeScript의 다른 제네릭 유형을 통해 제네릭 유형 유지

  8. 8

    C # 제네릭 유형

  9. 9

    제네릭 유형 확인

  10. 10

    제네릭 유형의 유형을 이미 알고있는 제네릭?

  11. 11

    제네릭 유형의 비 제네릭 속성에 대한 유효성 검사

  12. 12

    Java 제네릭-실제 유형의 제네릭 매개 변수 얻기

  13. 13

    Rust의 다른 제네릭에 의존하는 제네릭 유형

  14. 14

    다른 유형의 제네릭 유형 인 Infer Method-Return Type

  15. 15

    중첩 된 제네릭 유형의 유형을 얻는 방법

  16. 16

    Java 제네릭과 두 개의 제네릭 수퍼 유형이 혼동 됨

  17. 17

    제네릭 유형 전달 문제

  18. 18

    제네릭 유형 전달 문제

  19. 19

    제네릭 유형의 반환 유형 및 인수 유형 추출

  20. 20

    Python의 제한된 제네릭 유형 힌트

  21. 21

    Java의 제네릭 문제

  22. 22

    사용 된 유형 제네릭 중 하나에서 제네릭 유형 유추

  23. 23

    제네릭 메서드의 제네릭 형식 변환

  24. 24

    제네릭 메서드의 제네릭 형식 변환

  25. 25

    TypeScript의 제네릭 유형에서 제네릭 유형을 추론하는 방법이 있습니까?

  26. 26

    제네릭 유형의 제네릭 클래스에서 유형 인수에 액세스

  27. 27

    C # 제네릭 형식의 다형성

  28. 28

    Haskell의 기존 유형과 다른 언어의 제네릭

  29. 29

    제네릭 유형의 메소드와의 인터페이스

뜨겁다태그

보관