代码之家  ›  专栏  ›  技术社区  ›  Trick

在JAX-RS服务中获取XML

  •  1
  • Trick  · 技术社区  · 14 年前

    如何在JAX-RS服务中获取XML和/或URL(字符串)?

    例如在GET方法URL中

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

    @POST
    public JaxrsOrderWrapper insertOrder(OrderJaxrsVO jaxrsVO) {
        //here the XML
    }
    
    1 回复  |  直到 14 年前
        1
  •  3
  •   Qwerky    14 年前

    这对我来说很管用。添加变量;

    @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>";
        }
    }
    

    编辑: 您可能需要使用 @Consumes(MediaType.APPLICATION_XML) 把数据公布出来。