2017-12-26 23 views
0

웹 서비스를 사용하여 json 객체를 보내고 있습니다. 호출을 수신하는 메소드는 전달되는 해당 jsonObject 입력에 대한 model Object의 메소드 매개 변수를가집니다. JSONObject가 성공적으로 모델 객체로 변환되었지만 모델 객체에서 내 응답을 거의 테스트 할 수 없습니다.jsonObject를 Model Object로 변환 할 때 누락 된 필드를 감지하는 방법

예를 들어 입력 json에 필수 필드가 누락되었거나 입력 json의 필드가 null로 설정된 경우 두 경우 모두 모델 개체 필드가 ​​null로 나옵니다.

null이 필드 누락 또는 null로 설정된 필드 때문에 감지 할 수 없습니다.

아무도 해결책을 제안 할 수 있습니까?

내 마지막 방법은 String이고 내 모델 Object가 아닌 메소드 매개 변수 입력을 수신 한 다음 조건부 검사를 사용하여 입력 문자열을 확인하고 적절하게 응답을 얻습니다. 하지만 내 json 입력 개체는 매우 커서 이보다 나은 방법이있을 수 있기를 바랍니다.

춘계 프로젝트입니다.

코드 조각은 :

JSON Object being sent 

{"orgType":null, "orgLocation": "Geneva" , //other fields} 


@RequestMapping(value="/addOrganizations", method= RequestMethod.POST) 
public ResponseEntity addOrganization(@RequestBody Organization organization){ 
// code goes here 
} 

내가

{"orgType":null, "orgLocation": "Geneva" , //other fields} 

또는 함께하려는 경우 :

{"orgLocation": "Geneva" , //other fields} 

및 addOrganization 방법 내부 디버거 확인, 값은 모두의 null 사례.

모델 클래스 : 나는 마지막에 StackOverflow의 링크를 통해 진행되었다

public class Organization{ 

@JsonInclude(JsonInclude.Include.NON_EMPTY) 
private String orgType; 

private String orgLocation; 

// other fields and getters and setters. 

} 

답변