RestSetResponse olmadan durum kodu 201 nasıl ayarlanır ColdFusion 10 yeni REST API dahili ve 201 (Oluşturulan) bir durum kodu iade etmek istiyorum. İlk olarak burada açıklanan RestSetResponse() yaklaşımını denedim: http://www.adobe.com/devnet/coldfusion/articles/restful-web-services.html. İyi çalışır, ancak bu işlevin dönüş tipini "boşluğa" getirmeye zorlar. "Void" ile ilgili sorun, bir istisna atarken, uygun JSON hata mesajını döndürmemesidir. returntype olan "yapı" ne zamanColdFusion 10 REST API: Ben kullanıyorum()
<cfthrow errorcode="400" message="Validation error." />
bir güzel biçimlendirilmiş JSON İade:
bu istisnayı Fırlatma
HTTP/1.1 400 Bad Request
Content-Type: application/json
{"Message":"Validation error."}
Ama returntype RestSetResponse kullanmak için gerekli olan ("boşluk" olduğunda(), yanıt çirkin bir HTML yanıtıdır.
Bundan dolayı, RestSetResponse() 'den vazgeçilen, returnntype "struct" kullanmaya dönmem gerekiyordu ve bunu denedim:
<cfheader statusCode="201" statusText="Created" />
Ama işe yaramıyor. ColdFusion'ın statusCode üzerine yazdığı ve başarılı olduğunda her zaman 200 (OK) döndüğü görülüyor. Herkes, işlevin döndürme türünü "geçersiz" olarak ayarlamadan durum kodunu 201 olarak değiştirmenin bir yolunu biliyor mu?
Eğer yanıt yapı içinde özel içerik belirtilemez (http://www.adobe.com/devnet/coldfusion/articles/restful-web-services.html#articlecontentAdobe_numberedheader_3)? – imthepitts
Bunu yapamam. Sorumluluğumda belirtildiği gibi, RestSetResponse() işlevinin kullanılması, dönen tipin bir istisna durumunda uygun JSON yanıtını artık onaylatan "void" olmasını gerektirir. –