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