带有 JSON 的 Jersey RESTfull 服务

发布于 2024-12-04 01:49:44 字数 615 浏览 1 评论 0原文

我想将 JSON-Post 中的值解析为 Java 变量。但它们总是空的!

JSON-Post:

{"algID":0,"vertices":[1,2,3]}

我尝试将其解析为 Java 变量:

  @POST
  @Consumes(MediaType.APPLICATION_JSON)
  @Path("getCloseness_vertices")
  public String getCloseness_vertices(
  @FormParam("algID") int algID,
  @FormParam("vertices") IntArray vertices)

如果我这样尝试:

public String getCloseness_vertices(int algID)

Tomcat 说:

Java 类 int、Java 类型 int 和 MIME 的消息正文阅读器 媒体类型应用程序/json;未找到 charset=UTF-8。

任何帮助都会很好,我只是不明白。

I want to parse the values from the JSON-Post into Java-Variables. But they are always empty!

JSON-Post:

{"algID":0,"vertices":[1,2,3]}

My try to parse it into Java-Variables:

  @POST
  @Consumes(MediaType.APPLICATION_JSON)
  @Path("getCloseness_vertices")
  public String getCloseness_vertices(
  @FormParam("algID") int algID,
  @FormParam("vertices") IntArray vertices)

If i try it like this:

public String getCloseness_vertices(int algID)

Tomcat says:

A message body reader for Java class int, and Java type int, and MIME
media type application/json; charset=UTF-8 was not found.

Any help would be nice, I just don't get it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

栖竹 2024-12-11 01:49:44

您需要创建一个 POJO,Jersey 可以将 JSON 序列化为:

import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class MyPojo {
    public int algID;
    public int[] verticies;

    public MyPojo() {} // constructor is required

}

然后...

@POST
@Consumes(MediaType.APPLICATION_JSON)
@Path("getCloseness_vertices")
public String getCloseness_vertices(MyPojo p) 
{
    int i = p.algID;
}

您还需要包含 jersey-json jar 文件。

You need to create a POJO that Jersey can serialize the JSON to:

import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class MyPojo {
    public int algID;
    public int[] verticies;

    public MyPojo() {} // constructor is required

}

Then ...

@POST
@Consumes(MediaType.APPLICATION_JSON)
@Path("getCloseness_vertices")
public String getCloseness_vertices(MyPojo p) 
{
    int i = p.algID;
}

Also you need to include the jersey-json jar file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文