JSON POST Spring MVC Curl - 400 bad request

匿名 (未验证) 提交于 2019-12-03 00:59:01

问题:

This is my curl method request maps to POJO that fails with 400:

CURL REQUEST:

curl -v -H "Accept: application/json" -H "Content-type: application/json" -X POST -d     '{"key":"XYZ","uniqueId":"ABCD"}' http://localhost:8080/api/rest/connect/tick/view.json * Adding handle: conn: 0x1cb54c0 * Adding handle: send: 0 * Adding handle: recv: 0 * Curl_addHandleToPipeline: length: 1 * - Conn 0 (0x1cb54c0) send_pipe: 1, recv_pipe: 0 * About to connect() to localhost port 8080 (#0) *   Trying 127.0.0.1... * Connected to localhost (127.0.0.1) port 8080 (#0) > POST /api/rest/connect/tick/view.json HTTP/1.1 > User-Agent: curl/7.32.0 > Host: localhost:8080 > Accept: application/json > Content-type: application/json > Content-Length: 53 > * upload completely sent off: 53 out of 53 bytes < HTTP/1.1 400 Bad Request * Server Apache-Coyote/1.1 is not blacklisted < Server: Apache-Coyote/1.1 < Content-Type: text/html;charset=utf-8 < Content-Length: 971 < Date: Thu, 19 Sep 2013 13:16:29 GMT < Connection: close     

APPLICATION-CONFIG.XML:

<context:annotation-config/> <mvc:annotation-driven/> followed by, Bean Definitions 

CONTROLLER CLASS:

@RequestMapping(value="/tick/view.*", method = RequestMethod.POST, consumes=MediaType.APPLICATION_JSON_VALUE, produces=MediaType.APPLICATION_JSON_VALUE) @ResponseBody     public IConnectResponse tickConnectPost(@RequestBody final ConnectServiceBean     connectServiceBean) { 

CONNECTSERVICEBEAN:

import java.io.Serializable; public class ConnectServiceBean implements Serializable {     private static final long serialVersionUID = 1L;     private String key;     private String uniqueId;     //Getters and setters } 

But is working for another method request maps to String:

curl -i -H "Content-Type: application/json" -X POST -d '{"JKL@user.com"}'     http://localhost:8080/api/rest/connect/tick/XYZ/view.json HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Pragma: no-cache Cache-Control: no-cache, no-store, max-age=0 Expires: Thu, 01 Jan 1970 00:00:00 GMT Content-Type: application/json;charset=UTF-8 Content-Language: en-GB Transfer-Encoding: chunked Date: Thu, 19 Sep 2013 13:11:40 GMT 

CONTROLLER:

@RequestMapping(value="/tick/{key}/view.*", method = RequestMethod.POST,      consumes="application/json", produces = "application/json; charset=utf-8")     public IConnectResponse tickConnectPostString (         @PathVariable("key") String key, @RequestBody String uniqueId     ) {} 

I felt that there is something wrong with Jackson Mapping. But I have all the necessary POM dependencies also I read in some other stackoverflow post where I need only for Jackson configurations for bean mappings(not sure though) org.codehaus.jackson jackson-core-asl 1.9.7
org.codehaus.jackson jackson-mapper-asl 1.9.7

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!