내가 사용하여 REST 서비스를 구현하기 위해 노력하고 봄 JAXB 주석을 사용하여 JSON을 생성 4. 응용 프로그램이 자바 7 사용하여 구축하고 톰캣 7이, 잭슨과 봄
에서 실행되는
나머지 방법 돌아갑니다 JSON의 고객 객체 응용 프로그램은 주석으로 구동됩니다.
고객 클래스에는 JAXB 어노테이션이 있습니다. 잭스 항아리가 클래스 경로에 있습니다. 제 생각에 잭슨은 JAXB 주석을 사용하여 JSON을 생성합니다.
고객 등급 : 내가 JSON에서 고객의 개체를 반환하는 REST 방식
(봄 4에 따라) @RestController과 REST 서비스 클래스를 주석 한
@XmlRootElement(name = "customer")
public class Customer {
private int id;
private String name;
private List favBookList;
@XmlAttribute
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@XmlElement
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@XmlElementWrapper(name = "booklist")
@XmlElement(name="book")
public List getFavBookList() {
return favBookList;
}
public void setFavBookList(List favBookList) {
this.favBookList = favBookList;
}
}
:
@RequestMapping(value="/customer.json",produces="application/json")
public Customer getCustomerInJSON(){
Customer customerObj = new Customer();
customerObj.setId(1);
customerObj.setName("Vijay");
ArrayList<String> favBookList = new ArrayList<String>();
favBookList.add("Book1");
favBookList.add("Book2");
customerObj.setFavBookList(favBookList);
return customerObj;
}
내가 예상 한 결과, 나는 URL을 명중 할 때 :
{"id":1,"booklist":{"book":["Book1","Book2"]},"name":"Vijay"}
내가 무엇을 얻을 :
{"id":1,"name":"Vijay","favBookList":["Book1","Book2"]}
잭슨은 JAXB 주석 @XmlElementWrapper (이름 = "booklist") 및 을 무시하는 것 같다 @ XmlElement (name = "book") 고객 클래스의 getFavBookList() 메소드
Am I mi 무언가를 ssing?
안내가 필요합니다. 감사.
는 변수 선언에서 이러한 주석을 넣지 않고이 기능 및 확인 – Vihar
는 그것을 시도했다. 여전히 같은 결과를 얻습니다. –