Cómo PUBLICAR datos JSON con Curl desde Terminal / Línea de comandos para probar Spring REST?
Uso Ubuntu e instalé Curl en él. Quiero probar mi aplicación Spring REST con Curl. Escribí mi código postal en Java side. Sin embargo, quiero probarlo con Curl. Estoy tratando de publicar datos JSON. Un ejemplo de datos es como este:
{"value":"30","type":"Tip 3","targetModule":"Target 3","configurationGroup":null,"name":"Configuration Deneme 3","description":null,"identity":"Configuration Deneme 3","version":0,"systemId":3,"active":true}
Utilizo este comando:
curl -i \
-H "Accept: application/json" \
-H "X-HTTP-Method-Override: PUT" \
-X POST -d "value":"30","type":"Tip 3","targetModule":"Target 3","configurationGroup":null,"name":"Configuration Deneme 3","description":null,"identity":"Configuration Deneme 3","version":0,"systemId":3,"active":true \
http://localhost:8080/xx/xxx/xxxx
Devuelve este error:
HTTP/1.1 415 Unsupported Media Type
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=utf-8
Content-Length: 1051
Date: Wed, 24 Aug 2011 08:50:17 GMT
La descripción del error es la siguiente:
El servidor rechazó esta solicitud porque la entidad de solicitud está en un formato no soportado por la recurso para el método solicitado ().
Registro de Tomcat: "POST / ui/webapp/conf/clear HTTP / 1.1" 415 1051
¿Alguna idea sobre el formato correcto del comando Curl?
EDITAR:
Este es mi código PUT lado Java (he probado GET y DELETE y funcionan)
@RequestMapping(method = RequestMethod.PUT)
public Configuration updateConfiguration(HttpServletResponse response, @RequestBody Configuration configuration) { //consider @Valid tag
configuration.setName("PUT worked");
//todo If error occurs response.sendError(HttpServletResponse.SC_NOT_FOUND);
return configuration;
}
Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32
Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52