2015-02-24 11 views
13

İlkbaharda @RequestBody ek açıklamasını kullanırken REST API çağrılarında vücudu nasıl isteğe bağlı yapabilirim? Eğer @RequestBody ek açıklama kullanırsanız Spring'in son sürümü ileEn son Spring'te isteğe bağlı bir gövde ile @RequestBody kullanın İlkbahar v4

, buna isteğe bağlı yapmadan bedene her zaman göndermek müşteri yapar.

Ben @RequestBody (required=false) çalıştı ama o & hala benim isteği olarak boş geliyor çalışmadı.

Vücut zorunlu hale getirmeden uygun gerekli nesneye dönüştürülen isteği nasıl alabilirim? eg için

: Burada

@RequestMapping(value="/add/employee", method=RequestMethod.POST) 
public void addEmployee(@RequestBody Employee employee){ 
    ..... 
} 

, burada ben POST ama vücudun olmadan kullanarak çalışan eklemek istiyorum. Bunu nasıl yaparım? Boş beden gönderirseniz bahar son sürümü eksik hata atar ...

Teşekkürler!

cevap

19

@Santosh, ben tavsiye ettiğiniz argüman gerekli olan emin değilim. Mike zaten @RequestBody (required=false) kullanmayı denediğini ve isteğinin hala boş olduğunu belirtti. Daha fazla & örneği verebilirsiniz.

@ Mike, muhtemelen size amaca hizmet edecek başka bir ayrı dönüştürücü sahip deneyebilirsiniz.

Not: Yay ile aynı sorunu farkettim v4.1.6 & Mike, en son sürümü kullandığını belirttiği gibi kullanıyor olabilir.

3

Sürümle ilgili bir sorun olduğu için 3.2'nin üzerinde bir üst sürüm kullanıyorsunuzdur.

@RequestBody should have a required parameter to allow a request body to be optional Spring @RequestBody Anotation

@RequestBody Vücut alır bağlantı ve varsayılan olarak doğrudur gerekli argüman aşağıdaki göz at. false bunu belirtme Eğer

kamu soyut boolean vücut içeriği gerekli olup olmadığı

gerekli yardımcı olacaktır. Standart hiçbir vücut içerik yoktur durumda bir istisna açan, doğrudur. Gövde içeriği boş olduğunda geçirilecek null'ı tercih ederseniz bunu false değerine çevirin.

İlgili konular