带有 XML 的 Jersey RESTfull 服务(需要在 JSON 对象外部进行封装)
我尝试用 Java 和 Jersey 一起实现一个宁静的 Web 服务。 为了在客户端和服务器端之间进行通信,我需要注意 XML。 我已经尝试过 JSON。
使用 JSON 时,封装在 POJO-Object 中,如下所示:
@XmlRootElement
public class MyPojo {
public int a;
public int[] b;
}
然后我刚刚在 Rest-Class 中获得了一个标头,例如
public String classname(MyPojo p)
但我需要一个标头,例如
public String classname(int a, int [] b)
通过读取 Rest-Headers 自动创建 Form-Elements。 一个例子告诉我:
@Consumes("application/xml")
public classname methodname(@QueryParam("a") Integer a, @QueryParam("b") IntArray b)
应该有效。 问题:如何为此方法创建 XML 请求(如 XML 中的 JSON.stringify())?也许有更好的方法吗?
I try to implement a restful webservice in Java together with Jersey.
To communicate between the client- and server-side i´m watching out for XML.
I already tried JSON.
When using JSON, the encapsulation is in the POJO-Object like:
@XmlRootElement
public class MyPojo {
public int a;
public int[] b;
}
Then I just got a header in the Rest-Class like
public String classname(MyPojo p)
But I need a header like
public String classname(int a, int [] b)
to create Form-Elements automatically by reading the Rest-Headers.
An example showed me that:
@Consumes("application/xml")
public classname methodname(@QueryParam("a") Integer a, @QueryParam("b") IntArray b)
should work.
Question: How can I create a XML-Request (like JSON.stringify() in XML) for this method? Is there maybe a better way doing this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不确定我是否理解这个问题,但会尝试提供一些提示 - 希望至少其中一些是相关的。如果没有,请分享有关您的应用程序的更多信息(即,这是针对 GET 或 POST 请求吗?为什么有 2 个单独的参数如此重要等)。
如果您需要在请求实体中发送 XML 或 JSON(例如,在 POST 请求中) ),那么就不可能在多个参数中检索它们 - 您必须像上面那样使用单个对象参数。您可以执行以下操作:
或者,如果您确实不需要 XML/JSON,如果您使用 HTML 表单进行 POST,通常您会执行以下操作:
Not sure if I understand the question, but will try to provide some hints - hopefully at least some of it will be relevant. If not, please share more about your app (i.e. is this for GET or POST requests? why is it important to have 2 separate parameters, etc.)
If you need to send XML or JSON in the request entity (e.g. in a POST request), then it is not possible to retrieve these in multiple parameters - you have to live with the single object parameter as you have above. What you could do is the following:
Or, if you don't really need XML/JSON, if you are POSTing using HTML forms, typically you do the following: