0

我正在尝试使用 Web 服务 POST 将数据保存在我的数据库中,该服务将 HTML 表单序列化以保存对象。其余客户端 Firefox 是这样说的:

“服务器拒绝了这个请求,因为请求的实体的格式不被请求的方法所请求的资源支持”

Eclipse 控制台显示以下消息:

org.jasig.cas.client.util.CommonUtils - 在 LogoutRequest 的 POST HttpServletRequest 上调用 safeGetParameter。无法安全完成检查。恢复为该参数的标准行为

我知道我要保存的对象无效,但我看不出问题出在哪里。

@RequestMapping(value="/solicitudCita", method = RequestMethod.POST) 
public @ResponseBody String putSolicitud(@ModelAttribute("Solicitud") Solicitud solicitud) throws Exception{
    System.out.println(solicitud.toString());
    solicitudCitaAppMService.createOrUpdate(solicitud);
    String solicitudAdded = "Solicitud de cita -> {" + solicitud.toString() + "} añadida";
    System.out.println(solicitud);
    return solicitudAdded;
}

请帮帮我

谢谢

4

1 回答 1

0

如果要以 RESTful 方式调用此控制器,则必须将 solicitud 参数注释为 @RequestBody。其次,您必须在类路径中包含 Jackson 库,以便 Spring 可以拾取它们并使用它们来解组对象。

如果您使用 Maven,请使用以下依赖项:

    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-core-asl</artifactId>
        <version>1.9.12</version>
    </dependency>

    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>1.9.12</version>
    </dependency>

顺便说一句,为什么你必须序列化 HTML 表单并将其发送出去?我建议您使用Chrome WebStore 中提供的 REST 客户端,例如这个。

于 2013-08-27T13:26:36.830 回答