Uso Ubuntu e ho installato cURL su di esso. Voglio testare la mia applicazione Spring REST con cURL. Ho scritto il mio codice POST sul lato Java. Tuttavia, voglio provarlo con cURL. Sto cercando di pubblicare dati JSON. I dati di esempio sono così:
{"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}
Io uso questo 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
Restituisce questo errore:
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 descrizione dell'errore è questa:
Il server ha rifiutato questa richiesta perché l'entità richiesta è in un formato non supportato dalla risorsa richiesta per il metodo richiesto ().
Registro Tomcat: "POST / ui / webapp / conf / clear HTTP / 1.1" 415 1051
Qual è il formato corretto del comando cURL?
Questo è il mio PUT
codice laterale Java (ho testato GET e DELETE e funzionano):
@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;
}