मैं Ubuntu का उपयोग करता हूं और उस पर cURL स्थापित करता हूं । मैं cURL के साथ अपने स्प्रिंग रीस्ट एप्लिकेशन का परीक्षण करना चाहता हूं। मैंने जावा पोस्ट पर अपना POST कोड लिखा है। हालांकि, मैं इसे cURL के साथ टेस्ट करना चाहता हूं। मैं एक JSON डेटा पोस्ट करने का प्रयास कर रहा हूं। उदाहरण डेटा इस प्रकार है:
{"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}
मैं इस कमांड का उपयोग करता हूं:
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
यह त्रुटि लौटाता है:
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
त्रुटि विवरण यह है:
सर्वर ने इस अनुरोध को अस्वीकार कर दिया क्योंकि अनुरोध इकाई अनुरोधित विधि () के लिए अनुरोधित संसाधन द्वारा समर्थित प्रारूप में नहीं है।
टॉमकैट लॉग: "POST / ui / webapp / conf / clear HTTP / 1.1" 415 1051
CURL कमांड का सही प्रारूप क्या है?
यह मेरा जावा साइड PUT
कोड है (मैंने GET और DELETE का परीक्षण किया है और वे काम करते हैं):
@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;
}