このチュートリアルでは、JAXBを使用して、

objectをJersey

のXMLに変換してユーザーに返します。

1.依存関係

JAXBとJerseyを統合するために、余分な依存関係は必要ありません。単に ”

jersey-server.jar

“をインクルードします。

2. JAXBアノテーション

後で変換するために、JAXB注釈でオブジェクトに注釈を付けます。

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

@XmlRootElement(name = "customer")
public class Customer {

    String name;
    int pin;

    @XmlElement
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

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

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

}

上記のオブジェクトは、以下のXML形式に変換されます。

  <customer pin="value">
    <name>value</name>
  </customer>

3.ジャージとXML

XMLファイルを返すには、メソッドに `@Produces(MediaType.APPLICATION__XML)`と注釈を付けます。 Jerseyは、JAXBアノテートされたオブジェクトを自動的にXMLファイルに変換します。

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import com.mkyong.Customer;

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

    @GET
    @Path("/{pin}")
    @Produces(MediaType.APPLICATION__XML)
    public Customer getCustomerInXML(@PathParam("pin") int pin) {

        Customer customer = new Customer();
        customer.setName("mkyong");
        customer.setPin(pin);

        return customer;

    }

}

4.デモ

URIパターン ”

xml/customer/\ {param value}

“が要求されると、フォーマットされたXMLファイルが返されます。


xmlとjersey、title = "jersey-xml"、width = 599、height = 323

ソースコードをダウンロードする

ダウンロードする –

XML-Support-Jersey-Example.zip

(6 KB)