У меня такой же класс:
public class Person{
private String id =null;
private String type =null;
public Person(){
}
set and get methods.....
}
Теперь у меня есть приложение RESTFULL с Spring MVC, и контроллер:
@Controller
public class RestProviderController extends Thread {
@Autowired
BundleContext bundleContext;
protected static Logger logger = Logger.getLogger("controller");
protected static boolean status=false;
@Resource(name="Service")
private ElementService service;
public RestProviderController(){
}
@RequestMapping(value = "/person/{id}", method = RequestMethod.GET, headers="Accept=application/xml, application/html")
public @ResponseBody ResponseEntity<Response> Query(@PathVariable("id") String id) {
RestPerson response = service.queryContext(id);
return new ResponseEntity<Response>(response, HttpStatus.OK);
}
return null;
}
Проблема заключается в следующем: когда я звонюметод service.queryContext (id) возвращает мне экземпляр класса Person, и я хочу сопоставить этот объект другому классу Person "RestPerson".Этот класс RestPerson равен Person, но в классе Person я добавляю некоторую mvcannotation для преобразования ответа в XML.RestPerson:
@XmlRootElement(name="Person")
@XmlAccessorType(XmlAccessType.FIELD)
public class Person{
private String id =null;
private String type =null;
public Person(){
}
set and get methods.....
}
Проблема в том, что преобразование недопустимо, поскольку jvm не знает, что Person и RestPerson равны.Как можно решить эту проблему?Потому что я не хочу конвертировать всю информацию вручную.