发布数据Spring Web服务Restful

时间:2013-08-27 11:57:55

标签: java spring web-services spring-mvc

我正在尝试使用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;
}

请帮帮我

由于

1 个答案:

答案 0 :(得分: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表单并将其发送出去?我建议你使用一个REST客户端,例如this one,它可以在Chrome WebStore中找到。