2016-03-18 17 views
1

Broadleaf eTicaret'e yerleşik REST API'lerini kullanmaya çalışıyorum. Sitelerinde yer alan talimatlar, numaralı telefona web.xml numaralı telefona bir başvuru eklemeyi söylüyor, ancak /WEB-INF/applicationContext-rest-api.xml mevcut değil. @phillipuniverse tarafından renamed on January 14, 2015 idi. Geçerli web.xml, DemoSite has a reference'dan yeni dosya adına (applicationContext-rest-api-security.xml). Yani, REST'i etkinleştirmek için hiçbir şey yapılmaya gerek yok gibi görünüyor - bunlar varsayılan olarak etkindir. Onları erişmeye çalıştığınızdaBroadleaf REST API'sını nasıl kullanabilirim?

Ancak, alıyorum:

org.springframework.web.HttpMediaTypeNotSupportedException: İçerik tip 'boş' desteklenmeyen

Gerçekten İçerik- gönderiyorum Tip başlığı. Bu, known bug in Jackson temel alınarak yanlış bir istisna olarak görünüyor. Seri hale getirilemeyen türlerle ilgili bir şey var.

Sanırım bu, sarmalayıcı sınıflarının sabitlenmesi gerektiği anlamına geliyor. Serileştirilen şey bunlar. (doğru?) Bunun bir yanlış yapmam nedeniyle mi, yoksa BroadleafCommerce'de bir hata mı olduğunu anlamaya çalışıyorum.

Ayrıca, Maven ile yeni biriyim, bu yüzden bunu düzeltmeye çalışmaktan nasıl emin olacağım. DemoSite BroadLeafCommerce'i bir repodan çekiyor. BroadleafCommerce'ın yerel git klonuma bakmasını nasıl söylerim? (Bunu ben sorun çözme düşünmek için tek yol bu çünkü Bunlar birbirine bu farklı soru farkındayım ama.) Sorununuzu çözmek için

cevap

1

2 yolu vardır:

  1. bir Content-Type HTTP üst Set ya application/json (varsayılan) veya application/xml
  2. var Mesela bir @RequestBody

dışında tüm uç noktaları tüm consumes kaldır sen ha eğer @RequestMapping(value = "/cart", produces = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE}) public class CartEndpoint extends org.broadleafcommerce.core.web.api.endpoint.order.CartEndpoint

+0

Ben Content-Type başlığını ayarlıyorum: Sen o yerini alabilir

@RequestMapping(value = "/cart", produces = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE}, consumes = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE}) public class CartEndpoint extends org.broadleafcommerce.core.web.api.endpoint.order.CartEndpoint

: ile açıklamalı bir son nokta ettik. Hata mesajı yanıltıcıdır. Jackson'da bir hata hakkında yukarıda bulunan bağlantıya bakın. –

+0

@RequestMapping üzerindeki tüm tüketim özelliklerini kaldırmayı denediniz mi? Eminim Jackson ayrıştırma hatası ile ilgisi yoktur. Özellikle hangi son noktayı vurmaya çalışıyorsun? Aslına bakarsanız, seri üretimin gerçekleşmesini bekliyor musunuz? – phillipuniverse

+0

'Tüketimi kaldırıldı '{MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE}' ve çalıştı. –

İlgili konular