使用RESTEasy + JAXB的XML示例

RESTEasy,是JAXB支持XML文件所必需的。 在本教程中,我们向您展示如何创建“用户”对象,将其转换为XML文件,然后将其返回给客户端。

1. RESTEasy + JAXB

要在RESTEasy中使用JAXB,您需要包括“ resteasy-jaxb-provider.jar ”依赖项。

档案:pom.xml

<repositories>
	<repository>
		<id>JBoss repository</id>
		<url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url>
	</repository>
  </repositories>

  <dependencies>

	<dependency>
		<groupId>org.jboss.resteasy</groupId>
		<artifactId>resteasy-jaxrs</artifactId>
		<version>2.2.1.GA</version>
	</dependency>

	<dependency>
		<groupId>org.jboss.resteasy</groupId>
		<artifactId>resteasy-jaxb-provider</artifactId>
		<version>2.2.0.GA</version>
	</dependency>

  </dependencies>

2. JAXB XML提供程序

创建一个对象,并使用JAXB注释进行注释,以支持XML文件转换。

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")注释服务方法。 RESTEasy会将带JAXB注释的对象转换为XML文件,然后返回给客户端。

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; 

	}

}

3.演示

当请求URI模式“ / xml / user / get ”时,将返回以下XML文件。

<user pin="123456">
	<password>password</password>
	<username>mkyong</username>
</user>
result

下载源代码

下载它– JAX-RS-Download-XML-JAXB-Example.zip (7 KB)

参考文献

  1. JAXB官方网站
  2. RESTEasy JAXB提供程序

翻译自: https://mkyong.com/webservices/jax-rs/download-xml-file-from-jax-rs-with-jaxb-resteasy/

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值