नीचे की पोस्ट कार्रवाई का एक उदाहरण है।
@XmlRootElement (name = "Employee")
public class Employee {
String employeeName;
@XmlElement
public String getEmployeeName() {
return employeeName;
}
public void setEmployeeName(String employeeName) {
this.employeeName = employeeName;
}
}
@XmlRootElement बताता है कि यह xml में मुख्य टैग होगा। इस मामले में आप मुख्य टैग के लिए भी एक नाम निर्दिष्ट कर सकते हैं।
@XmlElement बताता है कि इस रूट टैग के अंदर उप टैग होगा
कहो, नमूना एक्सएमएल कि पोस्ट अनुरोध कुछ ऐसी दिखाई देगी में शरीर के एक भाग के रूप में आ जाएगा
<?xml version="1.0" encoding="UTF-8"?>
<Employee>
<employeeName>Jack</employeeName>
</Employee>
इस तरह के एक एक्सएमएल को स्वीकार करने के लिए एक webservice लिखते समय हम निम्नलिखित विधि लिख सकते हैं।
@POST
@Path("/post")
@Consumes(MediaType.APPLICATION_XML)
@Produces(MediaType.APPLICATION_XML)
public Response getEmployee(Employee employee) {
employee.setEmployeeName(employee.getEmployeeName() + " Welcome");
return Response.status(Status.OK).entity(employee).build();
}
इस सेवा को कॉल करने पर, आपको प्रतिक्रिया के हिस्से के रूप में निम्न XML मिल जाएगा।
<Employee>
<employeeName> Jack Welcome </employeeName>
</Employee>
@Xml का उपयोग कर ... एनोटेशन, यह unmarshal और अनुरोध और प्रतिक्रिया वस्तुओं मार्शल करने के लिए बहुत आसान हो जाता है।
इसी प्रकार के दृष्टिकोण, आप के हिस्से के रूप में एक आउटपुट के रूप में एक xml प्राप्त कर सकते हैं बस MediaType.APPLICATION_JSON उपयोग करने के बजाय APPLICATION_XML
की तो इनपुट के रूप में एक xml के लिए द्वारा JSON इनपुट के साथ-साथ JSON उत्पादन के लिए ले जाया जा सकता http प्रतिक्रिया। उम्मीद है कि यह मदद करता है।
स्रोत
2010-07-28 20:30:14
हम्म। क्या आप किसी मौजूदा सेवा में क्लाइंट पोस्ट बनाना चाहते हैं या जर्सी रीस्टफुल सेवा लागू करना चाहते हैं? –