在restful webservice中进行xml输入验证

时间:2013-01-03 06:08:09

标签: java rest jax-rs

我要求我需要将xml文件发送到其余资源。在那里我需要对该xml文件进行一些验证。如果验证成功,则仅添加该obj。任何人都可以提供有关如何继续的意见。

1 个答案:

答案 0 :(得分:0)

只是以验证方法输入的方式进行验证,如果出现问题则抛出WebApplicationException

@POST
@Path("/upload")
public void upload(@FormParam("xml") String xml) {
  try {
    Document doc = this.parse(xml);
  } catch (SAXException ex) {
    throw new WebApplicationException(
      ex,
      Response.status(HttpURLConnection.HTTP_BAD_REQUEST).build()
    );
  }
}

否则,您可以接受XML作为HTTP POST正文:

@POST
@Path("/upload")
public void upload(String xml) {
  // the same as above
}

否则,您可以使用JAXB将传入的XML转换为带注释的JAXB类(read more):

@POST
@Path("/upload")
@Consumes("application/xml")
public void upload(Product product) {
  assert product.price().equals("50 USD");
}