2017-05-03 79 views
6

İstemcide React ve REST API için sunucuda Java Spring Boot'u kullanmak istiyorum, hem istemci hem de sunucu aynı uygulama sunucusunda barındırılmaları için birlikte paketlenir.React'ın BrowserRouter'ı istemcide ve Java REST API'sında (Spring Boot) sunucuda nasıl kullanılır?

Zaten sunucu API'lerini /api yolu üzerinden sorgulayabilirim.

Ancak HashRouter yerine istemcide react-router-dom (Router v4) BrowserRouter'u (Router v4) kullanabilir miyim?

Spring Boot'u iyi bilmiyorum ama rota /api ile eşleşmiyorsa sunucuyu kontrol edebilirim, o zaman index.html cevabını HTTP sorgu konumu yolunu temel alarak tüm tepki mantığıyla birlikte gönderirim ?

Açıkçası umarım, url'deki karma istemeyi ve yönlendirmeyi istemciye yapmak istemiyorum.

cevap

0

Sonunda tüm GET isteklerini nasıl yakalayacağımı ve React uygulamamı nasıl döndürdüğümü buldum, ölümcül derecede basitti, yalnızca bir wild kart * kullanın, /*'un çalışmayacağını unutmayın. Bu örnekte

@GetMapping("*") 
public ModelAndView defaultPage(Map<String, Object> model) { 
    model.put("contextPath", contextPath); 
    return new ModelAndView("index", model); 
} 

, bu dosyanın /src/main/resources/static/index.html

1

Oldukça eski, ancak genel olarak gereken tüm ilk api maç ve ardından her şeyi eşleştirmek ve dizini dönmek için bir joker sahip olmaktır ...

Bu şekilde herhangi derin bağlantı hala hizmet ederek, çalışacak tepki uygulamanızın kökü, tepki veren yönlendiricinin tarayıcıda tuttuğu URL'yi alacağı yer.

Yay, @RequestMapping(value = "/") gibi bir şeyi her şeyi dizine yönlendirmek kadar kolay işlemelidir./Api/belirtirseniz daha spesifik olur ve öncelikli olurdum.

+0

sayesinde endeks puanları, bu yapmaya çalıştığım ama şimdi (Kabul cevabı kontrol et) e kadar kodlama konusunda bulundu vermedi budur. –