मैं कोल्डफ्यूजन 10 के नए अंतर्निहित आरईएसटी एपीआई का उपयोग कर रहा हूं और मैं 201 (निर्मित) का स्टेटस कोड वापस करना चाहता हूं। मैंने पहले RestSetResponse() दृष्टिकोण का प्रयास किया जो यहां वर्णित है: http://www.adobe.com/devnet/coldfusion/articles/restful-web-services.html। यह अच्छी तरह से काम करता है, सिवाय इसके कि यह आपको फ़ंक्शन की वापसी प्रकार को "शून्य" पर सेट करने के लिए मजबूर करता है। "शून्य" के साथ समस्या यह है कि जब भी मैं अपवाद फेंकता हूं, तो यह उचित JSON त्रुटि संदेश नहीं लौटाता है।कोल्डफ्यूजन 10 आरईएसटी एपीआई: RestSetResponse के बिना स्टेटस कोड 201 कैसे सेट करें()
<cfthrow errorcode="400" message="Validation error." />
एक ठीक से स्वरूपित JSON देता है जब returntype है "struct":
इस अपवाद फेंकने
HTTP/1.1 400 Bad Request
Content-Type: application/json
{"Message":"Validation error."}
लेकिन जब returntype "शून्य" (RestSetResponse उपयोग करने के लिए आवश्यक है जो है(), प्रतिक्रिया कुछ बदसूरत एचटीएमएल प्रतिक्रिया है।
इस वजह से, मुझे रीस्टस्टेट "स्ट्रक्चर" का उपयोग करने के लिए वापस जाना पड़ा, RestSetResponse() पर छोड़ दिया गया, और यह कोशिश की:
<cfheader statusCode="201" statusText="Created" />
लेकिन यह काम नहीं करता है। ऐसा लगता है कि कोल्डफ्यूजन स्थिति कोड को ओवरराइट करता है और यह सफल होने पर हमेशा 200 (ठीक) देता है। किसी को भी "शून्य" पर फ़ंक्शन की वापसी प्रकार सेट किए बिना स्टेटस कोड को 201 में बदलने का तरीका पता है?
आप के रूप में [यहां] वर्णित प्रतिक्रिया struct में कस्टम सामग्री निर्दिष्ट नहीं कर सकते (http://www.adobe.com/devnet/coldfusion/articles/restful-web-services.html#articlecontentAdobe_numberedheader_3)? – imthepitts
मैं ऐसा नहीं कर सकता। के रूप में मेरे सवाल में उल्लेख किया है, RestSetResponse() का उपयोग कर कि returntype "शून्य" है, जो अब एक अपवाद के मामले में उचित JSON उत्तर का सम्मान करता है की आवश्यकता है। –