웹 서비스를 사용하여 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.
}