한 엔드 포인트의 요청 본문에서 서로 다른 xmlTypes를 소비해야하는 서비스를 빌드해야합니다.
이를 위해 다음과 같이 구현했습니다.
@PostMapping(value="/one")
public ResponseEntity<?> result(
String xmlType,
@RequestBody Object body
) {
Employe employee = null; // employee object that is generated by xsd file.
Profile profile = null; // profile object that is generated by xsd file.
if (body instanceof Employe) {
employee = (Employe) body;
} else if (body instanceof Profile) {
profile = (Profile) body;
}
// business logic
return ResponseEntity.accepted().build();
}
하지만이 구현에서는 지원되지 않는 미디어 유형 오류가 발생합니다.
서비스 사용 예
- URL : '/ domain / one? xmlType = Profile', body (requestBody) :
<Profile></Profile>
- URL : '/ domain / one? xmlType = Employee', body (requestBody) :
<Employee></Employee>
특정 개체를 사용하면 작동하지만 일반 버전을 구현할 수 없습니다. 그렇다면이 기능을 어떻게 얻을 수 있습니까?