어떻게 REST 컨트롤러에서 JSON 형식과를 받게되며 형태의 정수 값을 보내?

Altaf 자바 :

나는이 코드를 작성했습니다 하나 REST 컨트롤러가

@PostMapping(value = "/otp")
public void otp(@RequestBody Integer mobile) {

    System.out.println(" Mobile = "+mobile);
}

그리고 난 다음 입력과 우체부에서이 메서드를 호출하고

URL : localhost:8080/otp

Body :

{
    "mobile":123456
}

그러나 나는 다음과 같은 예외를 얻고있다

org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Can not deserialize instance of java.lang.Integer out of START_OBJECT token; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.lang.Integer out of START_OBJECT token

이 같은 매개 변수로 문자열을 복용하고있는 경우

@PostMapping(value = "/otp")
public void otp(@RequestBody String mobile) {

    System.out.println(" Mobile = "+mobile);
}

그리고 입력으로 전달

{
    "mobile":123456
}

다음과 같이 이제 콘솔로 인쇄됩니다

 Mobile = {
    "mobile":"123456"
}

그러나 나는 단지이 값을합니다 123456. 어떻게 내 요구 사항을 달성하기 위해?

참고 : 내가 추가 POJO 클래스를 만들려하지 않거나 심지어 내가 쿼리 / path 매개 변수를 사용하여 데이터를 전송하지 않습니다.

Jaiwo99 :

당신이 좋아하는 몸을 보낼 경우 :

{
    "mobile":123456
}

당신은 값을받을 수있는 또 다른 객체를 생성합니다.

당신은 단지 다른 개체가없는 정수 값을 수락 할 경우, 당신은 요청 본문에 JSON 객체를 넣어,하지만 정수 자체가되지 않습니다.

Body:

12345

추천

출처http://43.154.161.224:23101/article/api/json?id=201989&siteId=1