POST / Yönlendirme / Geçersiz form gönderme ile GET?


Yanıtlar:


10

REST perspektifinden bakıldığında, web görüşmesi şöyle olmalıdır

GET / örnek

200 OK - boş form HTML'si içeriyor

Kullanıcı formu doldurur

POST / örnek

formfield1 = tamam

formfield2 = kötü

400 KÖTÜ İSTEK - hatalı formlu HTML içeriyor

Kullanıcı, form gönderimi ile ilgili sorunu tanımlar ve düzeltir

POST / örnek

formfield1 = tamam

formfield2 = sabit

201 OLUŞTURULDU - başarılı mesaj ve sonraki bağlantılar içeren HTML (ayrıca REST istemcileri için Konum başlığı) veya 200 Tamam ve 204 NO İÇERİK kabul edilebilir

Bir yönlendirme getirmeye gerek yoktur ve bu, konuşmanın anlambilimini bozar.


1
Vay canına, evet, REST'i veya genel olarak sadece farklı HTTP durum kodlarını nasıl unutmuş olabilirim. Bu soruyu sorduğumda bir beyin osuruğu vardı. Teşekkürler!
Terbiyeli Dabbler

1
Ancak PRG modelindeki yönlendirme, "konuşma semantiğini" korumanın, jambonlu kullanıcıların F5'i ezmesini önlemekten ve "formu yeniden gönderecek olan" görmezden gelmekten daha az önemli olduğu itirafından kaynaklanmaktadır. tarayıcı.
Carson63000

Yeterince adil, bu yüzden REST perspektifinden bahsettim.
Gary Rowe

5

Genelde, bir form geçersiz alanlarla POSTlandığında, normal olarak yanıt olarak sunmak istediğiniz şeyin aynı alan popülasyonu ile aynı formda olduğu ve bazı hata mesajlarının bulunduğu gerekçesiyle değil. Bu, POST / Redirect / GET aracılığıyla gerçekleştirilmesi zahmetli olacaktır - GET tarafından döndürülen sayfanın, kullanıcının form alanlarındaki girişlerinin zaten olduğundan nasıl emin olabilirsiniz?


2
Sonucu bir oturumda geçici olarak saklayarak (bir takip talebi süresince)?
İyi Dabbler

2
@fireeyedboy: evet, bunu yapardı .. ama biraz çamur gibi görünüyor.
Carson63000
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.