दिलचस्प पोस्ट
स्क्रॉल किए जाने वाले डिवेल में फ़ॉज़न तालिका हैडर JQuery के साथ JSON डेटा से आइटम जोड़ना / निकालना विंडोज में सी + + उच्च परिशुद्धता समय माप जीसी को कब कॉल करना स्वीकार्य है? संकलक? अजगर में इंटरप्रोसिस संचार TFS विशिष्ट संस्करण अलग फ़ोल्डर में प्राप्त करें जॅक्स-डब्लूएस लोडिंग डब्लूएसडीएल जार से सी में आप stdin / stdout / stderr को एक execvp () या समान कॉल करते समय फ़ाइलों में कैसे रीडायरेक्ट करते हैं? शेल स्क्रिप्ट से जेएमएक्स एमबीईई विधि को कॉल करना 64-बिट लिनक्स मशीन पर एंड्रॉइड एसडीके Java में बिट स्तर पर इंटिजर्स आंतरिक रूप से कैसे प्रतिनिधित्व किया जाता है? सी # में एक पाठ फ़ाइल से एक पंक्ति को कैसे हटाएं? जावा में नियमित अभिव्यक्ति के लिए टेक्स्ट से कैसे बचें जावास्क्रिप्ट में दिनांक के बीच अंतर पीएचपी: मैं कैसे एक स्ट्रिंग को अल्पविराम से विस्फोट कर सकता हूं, लेकिन क्या नहीं है कि अल्पविराम कोट्स के भीतर हैं?

415 त्रुटि असमर्थित मीडिया प्रकार: JSON को अगर POST नहीं पहुंचता है, लेकिन यह XML करता है

मैं वास्तव में आराम करने के लिए नया हूं, लेकिन वास्तव में मुझे यह 415 Unsupported Media Type नहीं मिल रहा है।

मैं फ़ायरफ़ॉक्स पर पोस्टर के साथ अपने आराम का परीक्षण कर रहा हूं और GET मेरे लिए ठीक काम करता है, POST भी (जब यह एक application/xml ), लेकिन जब मैं application/json कोशिश करता हूं तो वह डब्लूएस से बिल्कुल भी नहीं पहुंचता है, सर्वर इसे अस्वीकार करता है ।

यह मेरा URL है: http: // स्थानीयहोस्ट: 8081 / रेस्ट डेमो / सेवाएं / ग्राहक / जोड़ें

यह JSON मैं भेज रहा हूं: {"name": "test1", "address" :"test2"}

यह XML भेज रहा है:

 <customer> <name>test1</name> <address>test2</address> </customer> 

और यह मेरा संसाधन वर्ग है:

 @Produces("application/xml") @Path("customers") @Singleton @XmlRootElement(name = "customers") public class CustomerResource { private TreeMap<Integer, Customer> customerMap = new TreeMap<Integer, Customer>(); public CustomerResource() { // hardcode a single customer into the database for demonstration // purposes Customer customer = new Customer(); customer.setName("Harold Abernathy"); customer.setAddress("Sheffield, UK"); addCustomer(customer); } @GET @XmlElement(name = "customer") public List<Customer> getCustomers() { List<Customer> customers = new ArrayList<Customer>(); customers.addAll(customerMap.values()); return customers; } @GET @Path("/{id}") @Produces("application/json") public String getCustomer(@PathParam("id") int cId) { Customer customer = customerMap.get(cId); return "{\"name\": \" " + customer.getName() + " \", \"address\": \"" + customer.getAddress() + "\"}"; } @POST @Path("/add") @Produces(MediaType.APPLICATION_JSON) @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) public String addCustomer(Customer customer) { //insert int id = customerMap.size(); customer.setId(id); customerMap.put(id, customer); //get inserted Customer result = customerMap.get(id); return "{\"id\": \" " + result.getId() + " \", \"name\": \" " + result.getName() + " \", \"address\": \"" + result.getAddress() + "\"}"; } } 

1 संपादित करें:

यह मेरा ग्राहक वर्ग है:

 @XmlRootElement public class Customer implements Serializable { private int id; private String name; private String address; public Customer() { } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } } 

वेब के समाधान से एकत्रित समाधान "415 त्रुटि असमर्थित मीडिया प्रकार: JSON को अगर POST नहीं पहुंचता है, लेकिन यह XML करता है"

मुद्दा बीन ग्राहक के deserialization में है आपके कार्यक्रम जानते हैं कि यह XML में कैसे करना है, जेएसीएबी के रूप में डैनियल लिख रहा है, लेकिन सबसे अधिक संभावना यह नहीं पता कि इसे JSON में कैसे करना है।

यहां आपके पास रेस्टेसी / जैक्सन के उदाहरण हैं http://www.mkyong.com/webservices/jax-rs/integrate-jackson-with-resteasy/

जर्सी के साथ भी यही है: http://www.mkyong.com/webservices/jax-rs/json-example-with-jersey-jackson/

Content-Type: application/json जोड़ें Content-Type: application/json और Accept: application/json में REST क्लाइंट हैडर अनुभाग

बस के मामले में यह दूसरों के लिए मददगार है, यह मेरा उपन्यास है:

मैंने इस थ्रेड को एक ऐसी समस्या के परिणाम के रूप में पाया जो मुझे सामना करना पड़ा था, जब मैं पोस्टमैन का प्रयोग अपने रेसटेसिस सर्वर पर टेस्ट डेटा भेजने के लिए कर रहा था, जहां- एक महत्वपूर्ण कोड परिवर्तन के बाद- मुझे 415 असमर्थित मीडिया प्रकार त्रुटियों से कुछ भी नहीं मिल रहा था

लम्बी कहानी कम, मैं हर चीज को बाहर कर दिया, आखिरकार मैंने तुच्छ फ़ाइल अपलोड करने की कोशिश की उदाहरण के लिए मुझे पता था काम; यह नहीं था ऐसा तब हुआ जब मुझे एहसास हुआ कि समस्या मेरे पोस्टमैन अनुरोध के साथ थी। मैं सामान्य रूप से कोई विशेष हेडर नहीं भेजता, लेकिन पिछली परीक्षा में मैंने एक "सामग्री-प्रकार" जोड़ा था: "एप्लिकेशन / जेएसन" शीर्षलेख कोर्स की, मैं "मल्टीपार्ट / फ़ॉर्म-डेटा" अपलोड करने का प्रयास कर रहा था। इसे हटाने से मेरी समस्या हल हो गई है

नैतिक: अपनी दुनिया को उड़ा देने से पहले अपने हेडर की जांच करें 😉

मुझे भी यही समस्या थी:

क्यूल-वी-एच "सामग्री-प्रकार: आवेदन / जेसन" -X PUT -d '{"नाम": "जेसन", "सरनेम": "जीएसन", "विवाहित": सच है, "उम्र": 32, " वेतन ": 123," हैकर ": सच है," बच्चे ": [" सर्कन "," वॉलकन "," ऐबार्स "]} 'XXXXXX / ponyo / UserModel / json

 * About to connect() to localhost port 8081 (#0) * Trying ::1... * Connection refused * Trying 127.0.0.1... * connected * Connected to localhost (127.0.0.1) port 8081 (#0) > PUT /ponyo/UserModel/json HTTP/1.1 > User-Agent: curl/7.28.1 > Host: localhost:8081 > Accept: */* > Content-Type: application/json > Content-Length: 121 > * upload completely sent off: 121 out of 121 bytes < HTTP/1.1 415 Unsupported Media Type < Content-Type: text/html; charset=iso-8859-1 < Date: Wed, 09 Apr 2014 13:55:43 GMT < Content-Length: 0 < * Connection #0 to host localhost left intact * Closing connection #0 

मैंने इसे pom.xml पर निर्भरता को जोड़कर इसका समाधान किया है। कृपया इसे प्रयास करें।

  <dependency> <groupId>com.owlike</groupId> <artifactId>genson</artifactId> <version>0.98</version> </dependency> 

मुझे यह समस्या थी और पाया कि समस्या यह थी कि मैंने जैक्सनफ़ेचर वर्ग पंजीकृत नहीं किया है:

 // Create JAX-RS application. final Application application = new ResourceConfig() ... .register(JacksonFeature.class); 

ऐसा करने के बावजूद आपका आवेदन नहीं जानता कि कैसे JSON को एक जावा ऑब्जेक्ट में कनवर्ट करना है।

https://jersey.java.net/documentation/latest/media.html#json.jackson

अपने तरीकों में स्ट्रिंग्स वापस मत लौटें, लेकिन ग्राहक इसे स्वयं लेता है और JAXB को डे / सीरियलाइजेशन का ध्यान रखना चाहिए।

मुझे वही मुद्दे मिलते हैं I वास्तव में, अनुरोध जर्सी एनोटेड विधि तक नहीं पहुंचा था। मैंने एनोटेशन को जोड़ने के साथ समस्या का हल: @ कंस्यूम (मीडियाटिप्प.एपीपीएलआईसीएएन_फर्म_यूआरयूएनसीओडीडी) एनोटेशन @ कॉन्स्यूम (" / ") काम नहीं कर रहा है!

  @Path("/"+PropertiesHabilitation.KEY_EstNouvelleGH) @POST //@Consumes("*/*") @Consumes(MediaType.APPLICATION_FORM_URLENCODED) public void get__EstNouvelleGH( @Context HttpServletResponse response) { ... }