Ich möchte einen Beitrag zu Jersey Rest Service machen. Was ist der übliche Weg, dies zu tun?Jersey konsumiert XML-Post
@Post
@Consumes(MediaType.Application_xml)
public Response method(??){}
Ich möchte einen Beitrag zu Jersey Rest Service machen. Was ist der übliche Weg, dies zu tun?Jersey konsumiert XML-Post
@Post
@Consumes(MediaType.Application_xml)
public Response method(??){}
Unten ist ein Beispiel für eine nach der Operation:
@POST
@Consumes({"application/xml", "application/json"})
public Response create(@Context UriInfo uriInfo, Customer entity) {
entityManager.persist(entity);
entityManager.flush();
UriBuilder uriBuilder = uriBuiler.path(String.valueOf(entity.getId()));
return Response.created(uriBuilder.build()).build();
}
Angenommen, Sie haben einen Java Bean sagen Mitarbeiter Bohne wie. Fügen Sie die anzuzeigenden Tags hinzu
@XmlRootElement (name = "Employee")
public class Employee {
String employeeName;
@XmlElement
public String getEmployeeName() {
return employeeName;
}
public void setEmployeeName(String employeeName) {
this.employeeName = employeeName;
}
}
@XmlRootElement sagt, dass dies das Haupt-Tag in XML sein wird. In diesem Fall können Sie auch einen Namen für das Haupt-Tag angeben.
@XmlElement sagt, dass dies die Unter-Tag innerhalb des Root-Tag sein würde
Say, die Probe xml, die als Teil des Körpers in der Post-Anforderung kommen wird wie etwas aussehen
<?xml version="1.0" encoding="UTF-8"?>
<Employee>
<employeeName>Jack</employeeName>
</Employee>
Wenn wir einen Webservice schreiben, um ein solches XML zu akzeptieren, können wir die folgende Methode schreiben.
@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();
}
Beim Aufruf dieses Dienstes erhalten Sie die folgende XML als Teil der Antwort.
<Employee>
<employeeName> Jack Welcome </employeeName>
</Employee>
mit @xml ... Anmerkungen, wird es sehr einfach, die Anfrage und Antwort Objekte zu entpacken und Marschall.
ähnlicher Ansatz kann stattdessen als Eingang für eine xml von APPLICATION_XML
also einfach durch Verwendung des MediaType.APPLICATION_JSON für JSON-Eingang sowie JSON Ausgang genommen werden, können Sie eine XML als eine Ausgabe im Rahmen der bekommen HTTP-Antwort Hoffe, das hilft.
Hmm. Möchten Sie einen Client-POST zu einem vorhandenen Service machen oder einen Jersey RESTful-Service implementieren? –