【问题标题】:How to pass pojo object as parameter to rest web service from prototypejs client如何从prototypejs客户端将pojo对象作为参数传递给rest web service
【发布时间】:2013-01-31 17:55:03
【问题描述】:

如何从prototypejs客户端将pojo对象作为参数传递给rest web service。

假设我有这样的网络服务。

@Path("/postItem")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public Item postItem(Item item) 
{
  return new item;
}

从客户端使用prototypejs库如何将pojo对象作为参数传递给rest web服务。

如果参数是字符串或整数类型,我会将其作为查询参数传递,但它是 pojo 对象以防万一。

我是关于 pojo 对象的语法创建,然后将它从prototypejs 传递给rest web 服务。

【问题讨论】:

  • 您想同时传递ItemString,还是额外的String price 只是一个错字?服务器端是在 Spring、JBoss 还是其他任何东西上运行?
  • 它的拼写错误。现在我已经纠正了。我只想从prototypejs客户端传递一个pojo Item对象。对于服务器,我使用 apache tomcat 7,其余实现我使用 Jersey 1.17

标签: java javascript web-services rest prototypejs


【解决方案1】:

您使用哪种 jax-rs 实现?对于 Jersey,您可以通过指定 jersey servlet 将 json 发布到服务器:

<servlet>
    <servlet-name>jersey-servlet</servlet-name>
    <servlet-class>
        com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>com.sun.jersey.config.property.packages</param-name>
        <param-value>your package</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
        <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>jersey-servlet</servlet-name>
    <url-pattern>/api/*</url-pattern>
</servlet-mapping>

然后在你的客户端代码中,你可以直接post一个json到服务端,它会被反序列化为一个Item实例

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-10
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 2018-07-25
    • 2019-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多