Uso Ubuntu e instalé cURL en él. Quiero probar mi aplicación Spring REST con cURL. Escribí mi código POST en el lado de Java. Sin embargo, quiero probarlo con cURL. Estoy tratando de publicar datos JSON. Los datos de ejemplo son así:
{"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}
Yo uso 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 esta:
El servidor rechazó esta solicitud porque la entidad de solicitud está en un formato no admitido por el recurso solicitado para el método solicitado ().
Registro de Tomcat: "POST / ui / webapp / conf / clear HTTP / 1.1" 415 1051
¿Cuál es el formato correcto del comando cURL?
Este es mi PUT
código lateral de 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;
}