Получение XML в сервисе JAX-RS - PullRequest
       23

Получение XML в сервисе JAX-RS

1 голос
/ 16 сентября 2010

Как я могу получить XML и / или URL (String) в службе JAX-RS?

Например, в URL-адресе метода GET

@GET
@Produces("application/xml; charset=UTF-8")
public JaxrsPriceWrapper getPrice(@QueryParam("firstId"), @QueryParam("materialId"),...) {
    //here I would like to get whole URL
}

и в XML-методе POST *

@POST
public JaxrsOrderWrapper insertOrder(OrderJaxrsVO jaxrsVO) {
    //here the XML
}

1 Ответ

3 голосов
/ 16 сентября 2010

Это работает для меня, используя Джерси. Добавить переменную;

@Context private UriInfo uriInfo;

.. в ваш класс ресурсов. Это будет доступно для методов ресурса. Вы можете позвонить

uriInfo.getRequestURI().

Пример;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.UriInfo;

@Path("/jerseytest")
public class Server
{
    @Context private UriInfo uriInfo;

    @GET
    @Produces(MediaType.APPLICATION_XML)
    public String get()
    {
        System.out.println("jerseytest called: URI = " + uriInfo.getRequestUri());

        return "<response>hello world</response>";
    }
}

Edit: Вам, вероятно, нужно аннотировать ваш метод POST с помощью @Consumes(MediaType.APPLICATION_XML), чтобы получить данные.

...