加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML example with RESTEasy + JAXB

发布时间:2020-12-16 06:10:04 所属栏目:百科 来源:网络整理
导读:RESTEasy,is required JAXB to support XML file. In this tutorial,we show you how to create an “user” object,convert it into XML file,and return it back to the client. 1. RESTEasy + JAXB To use JAXB in RESTEasy,you need to include the “ r

RESTEasy,is required JAXB to support XML file. In this tutorial,we show you how to create an “user” object,convert it into XML file,and return it back to the client.

1. RESTEasy + JAXB

To use JAXB in RESTEasy,you need to include the “resteasy-jaxb-provider.jar” dependency.

File : 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 Provider

Create an object,annotate with JAXB annotation to support XML file conversion.

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;
    }

}

With JAXB annotation,above object will convert it into following XML format.

<user pin="value">
    <password>value</password>
    <username>value</username>
  </user>

3. JAX-RS

To return a XML file,annotate the service method with @Produces("application/xml"). RESTEasy will convert the JAXB annotated object into XML file,and return back to the client.

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. Demo

When URI pattern “·/xml/user/get·” is requested,following XML file will be returned.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读