2017-11-18 4 views
0

Spring REST 응용 프로그램에서 작업 중입니다. 나는 아래의 기능을 가진 휴식 컨트롤러를 가지고있다. 상기 라우터HTTP 클라이언트에서 POST 요청을받는 동안 추가 JSON 필드를 무시합니다.

@RequestMapping(method=RequestMethod.POST) 
public ResponseEntity<Map<String, String>> saveProfileEntry(@RequestBody ProfileEntry entry) { 
    // 
} 

, I가 통과하여있다 ProfileEntry POJO과 각 필드의 유사한 숫자 이하인 경우 게시. 게시 된 JSON에 추가 필드가있는 경우 요청이 실패하고 다음 오류가 발생합니다.

HTTP 상태 [잘못된 요청] 서버는 나 때문에 클라이언트 오류 (예를 들어, 잘못된 요청 구문, 잘못된 요청 메시지 프레이밍, 또는기만 로 인식되고 뭔가 요청을 처리하지 않을 수 없다 요청 라우팅).

내 클라이언트가 내 POJO에서 사용할 수없는 추가 데이터를 보낼 수있는 경우 어떻게해야합니까?

답변

0

서블릿 구성에 다음을 추가하고 알 수없는 속성을 무시하도록 POJO에 주석을 달아 해결할 수있었습니다. POJO

@JsonIgnoreProperties(ignoreUnknown=true) 

에 대한

Servelet 구성

<bean id="jacksonMessageConverter" 
    class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean> 
    <bean 
     class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> 
     <property name="messageConverters"> 
      <list> 
       <ref bean="jacksonMessageConverter" /> 
      </list> 
     </property> 
    </bean> 

주석이 나를 위해 일했다.