J'utilise Ubuntu et y ai installé cURL . Je veux tester mon application Spring REST avec cURL. J'ai écrit mon code POST côté Java. Cependant, je veux le tester avec cURL. J'essaie de publier des données JSON. Les données d'exemple sont comme ceci:
{"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}
J'utilise cette commande:
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
Il renvoie cette erreur:
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 description de l'erreur est la suivante:
Le serveur a refusé cette demande car l'entité de demande est dans un format non pris en charge par la ressource demandée pour la méthode demandée ().
Journal Tomcat: "POST / ui / webapp / conf / clear HTTP / 1.1" 415 1051
Quel est le bon format de la commande cURL?
Voici mon PUT
code latéral Java (j'ai testé GET et DELETE et ils fonctionnent):
@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;
}