当前位置: 首页 > 知识库问答 >
问题:

在Rest web方法中传递JSON对象

苏弘盛
2023-03-14
@GET
@Path("/addemployee")
@Produces(MediaType.APPLICATION_JSON)
public void addEmployee(@QueryParam("id") String id, @QueryParam("name") String name,@QueryParam("address") String address,@QueryParam("phone") String phone ) {
    employeeVo.setId(Integer.parseInt(id));
    employeeVo.setName(name);
    employeeVo.setPhone(phone);
    employeeVo.setAddress(address);
    employeeDao.addNewEmployee(employeeVo);     
}

我有上述方法,它从html表单中获取参数并将此数据添加到数据库表中。我想做同样的事情,但使用json Object,那么如何将Json Object作为参数传递呢?以及我应该添加什么依赖项到我的Pom.xml文件中。谢谢

共有2个答案

牧璞
2023-03-14

为什么不在服务中接受JSON作为字符串,并从中生成JSON对象呢
您可以使用下面的依赖项来创建JSON对象

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20090211</version>
</dependency>
艾谦
2023-03-14

假设您使用JAX-RS实现,并且您在请求主体中POJOEmployeeVo的JSON表示之后发布数据,您可以简单地这样做:

@POST
@Path("/addemployee")
@Consumes(MediaType.APPLICATION_JSON)
public void addEmployee(EmployeeVo employeeVo) {
    employeeDao.addNewEmployee(employeeVo);     
}

以下是要在请求主体中发布的相应JSON对象的示例:

 {
   "id" : 1,
   "name" : "foo",
   "phone" : "911",
   "address" : "bar",
 }

 类似资料:
  • 那代码在OOP方式下还是好的吗?还是我应该用接口?我认为直接通过方法是可以的。

  • 我试图在RMI方法中添加参数。当我添加例如时,一切正常。但是我不确定是否可以传递我创建的对象。我是新来的RMI,所以我的代码很简单: 你好。 你好 RMIServer RMIClient 最后是我的课堂背景 我应该怎么做才能使传递上下文成为可能?

  • 问题内容: 我正在尝试在RMI方法中添加参数。当我添加例如一切正常。但是我不确定是否可以传递我创建的对象。我是RMI的新手,所以我的代码非常简单: HelloIF 你好 RMI服务器 RMI客户端 最后是我的课堂上下文 我应该怎么做才能使传递上下文成为可能? 问题答案: 您的对象应实现。如我所见,这将是一个问题。之所以需要这样做是因为两个部分之间的通信是使用序列化完成的,因此需要发送给另一部分的每

  • 问题内容: 我很难将Flask / Python变量传递给Javascript。 基本上,我是从MySQL导入的,并尝试以三种不同的方式呈现返回值。 那是我的dict项目上运行以下命令时的输出。 此方法不好,但是我添加了详细信息,根本不是正确的格式。 我直接将python dict传递给看起来像这样的模板 然后在模板方面,我尝试了以下JavaScript行 没有一个可以一起工作或单独工作。 我也尝

  • 问题内容: 我正在使用jQuery对PHP脚本进行AJAX调用,该PHP脚本需要返回嵌入JSON结果中的javascript代码才能执行jQuery代码。如何在JSON中传递JavaScript代码? 问题答案: 两种方式: 您必须将其作为字符串传递并在客户端使用。 您可以使用JSONP,而不是进行调用,而是将客户端脚本插入一个带有指向返回新脚本的服务器端代码的指针。 在任何一种情况下,请确保将其

  • 本文向大家介绍c#进程之间对象传递方法,包括了c#进程之间对象传递方法的使用技巧和注意事项,需要的朋友参考一下 1. 起源 KV项目下载底层重构升级决定采用独立进程进行Media下载处理,以能做到模块复用之目的,因此涉及到了独立进程间的数据传递问题。 目前进程间数据传递,多用WM_COPYDATA、共享dll、内存映射、Remoting等方式。相对来说,WM_COPYDATA方式更为简便,网上更到