0
点赞
收藏
分享

微信扫一扫

JAX-RS之与XML打交道

今天学习的是JAX-RS之中结合使用XML,使用的依然是JAXB,这里展示如何建立一个 

user对象,将其转化为XML,并且返回给客户端。



1) 需要包含resteasy-jaxb-provider.jar这个包


2)创建USER对象,使用JAXB的注解,如下



Java代码
​​

​​


1. import
2. import
3. import
4.
5. @XmlRootElement(name = "user")
6. public class
7.
8. String username;
9. String password;
10. int
11.
12. @XmlElement
13. public
14. return
15. }
16.
17. public void
18. this.username = username;
19. }
20.
21. @XmlElement
22. public
23. return
24. }
25.
26. public void
27. this.password = password;
28. }
29.
30. @XmlAttribute
31. public int
32. return
33. }
34.
35. public void setPin(int
36. this.pin = pin;
37. }
38.
39. }


import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name = "user")
public class User {

String username;
String password;
int pin;

@XmlElement
public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

@XmlElement
public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

@XmlAttribute
public int getPin() {
return pin;
}

public void setPin(int pin) {
this.pin = pin;
}

}
使用JAXB后,会转为如下XML:

<user pin="value">

<password>value</password>

<username>value</username>

</user>

3

JAX-RS要返回XML的话,可以通过@Produces("application/xml")标签,前提是user对象是经过jaxb的


Java代码
​​

​​


1. import
2. import
3. import
4.
5. @Path("/xml/user")
6. public class
7.
8. @GET
9. @Path("/get")
10. @Produces("application/xml")
11. public
12.
13. new
14. "mkyong");
15. "password");
16. 123456);
17.
18. return
19.
20. }
21.
22. }


import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

@Path("/xml/user")
public class XMLService {

@GET
@Path("/get")
@Produces("application/xml")
public User getUserInXML() {

User user = new User();
user.setUsername("mkyong");
user.setPassword("password");
user.setPin(123456);

return user;

}

}

当运行“/xml/user/get”时,就返回XML了:

<user pin="123456">

<password>password</password>

<username>mkyong</username>

</user>

举报

相关推荐

0 条评论