Chcę zrobić usługę Post to Jersey Rest. Jaki jest standardowy sposób robienia tego?Jersey Zużywa XML post
@Post
@Consumes(MediaType.Application_xml)
public Response method(??){}
Chcę zrobić usługę Post to Jersey Rest. Jaki jest standardowy sposób robienia tego?Jersey Zużywa XML post
@Post
@Consumes(MediaType.Application_xml)
public Response method(??){}
Poniżej jest przykład działania postu:
@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();
}
Załóżmy, że masz fasoli java powiedzmy takie jak fasola pracownik. Dodaj tagi, aby powiedzieć:
@XmlRootElement mówi, że będzie to główny znacznik w xml. W takim przypadku możesz również podać nazwę dla głównego znacznika.
@XmlElement mówi, że będzie to tag sub wewnątrz znacznika głównego
znaczy, że próbka xml przyjdzie jako część ciała w żądaniu postu będzie wyglądało
<?xml version="1.0" encoding="UTF-8"?>
<Employee>
<employeeName>Jack</employeeName>
</Employee>
Pisząc usługę internetową, aby zaakceptować taki xml, możemy napisać następującą metodę.
@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();
}
Po wywołaniu tej usługi otrzymasz następujący xml jako część odpowiedzi.
<Employee>
<employeeName> Jack Welcome </employeeName>
</Employee>
użyciu @Xml ... adnotacje, staje się bardzo łatwe do unmarshal i Marszałka obiektów żądania i odpowiedzi.
Podobne podejście można uważać za wkład JSON, jak i wyjście JSON po prostu używając MediaType.APPLICATION_JSON zamiast APPLICATION_XML
Więc dla XML jako wejście, można uzyskać xml jako wyjście jako część Odpowiedź http. Mam nadzieję, że to pomoże.
Hmm. Czy chcesz ustawić klienta POST na istniejącą usługę lub wdrożyć usługę RESTULT na Jersey? –