2017-03-31 3 views
0

Spring enthält einige nette Anleitung zum Einrichten eines einfachen Service für eine pojo/data repository basierend auf JPA. Leider kann ich nicht die clientseitige Implementierung oder ein gutes Beispiel dafür finden, wie ich über Java selbst auf diesen Dienst zugreifen kann. In diesem Beispiel wird nur der grundlegende Curl-Zugriff gezeigt. Vielleicht fehlen mir einige grundlegende Grundlagen, aber im WEB habe ich nur ein paar grundlegende Beispiele gefunden und auch eine consuming guide von Spring selbst. IMHO sind diese ziemlich niedrigen Niveau, ich bin auf der Suche nach einer anspruchsvolleren Annotation getriebene Implementierungsmöglichkeit.So implementieren Sie einen Spring Rest-Client

+0

Oh, komm schon, wenn ich "spring Rest Client Beispiel" in Google tippen bin ich für Rest Kunden viele Beispiele zu bekommen. – Kamil

+0

@Kamil Entschuldigung dafür, dass ich nicht explizit genug bin, ich habe ein paar einfache Beispiele gefunden, wie ich JSON/Rest-Ressourcen kontaktieren und lesen kann, aber ich suche nach einem Ansatz auf höherer Ebene. Ich werde meine Frage anpassen. – Thomas

Antwort

0

Warum nicht Feign im Zusammenhang mit spring-cloud betrachten. Es ist ein deklarativer Rest-Client, der ursprünglich auf Netflix entwickelt wurde und Teil von spring-cloud geworden ist. Es integriert auch einige Service Discovery-Lösungen, die im Frühjahr-Cloud-Kontext verfügbar sind.

http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-feign

Feign ist ein deklaratives Web-Service-Client. Es macht das Schreiben von Web Service-Clients einfacher. Um Feign zu verwenden, erstellen Sie eine Schnittstelle und notieren Sie es. Es verfügt über Plug-in Annotation Unterstützung einschließlich Feign Annotationen und JAX-RS-Annotationen. Feign unterstützt auch steckbare Encoder und Decoder. Spring Cloud fügt Unterstützung für Spring MVC-Annotationen und für mit den gleichen HttpMessageConverters hinzu, die standardmäßig in Spring Web verwendet werden. Spring Cloud integriert Ribbon und Eureka, um einen lastabgestimmten HTTP-Client bereitzustellen, wenn Feign verwendet wird.

Ein feign Client könnte wie folgt aussehen:

@FeignClient("stores") 
public interface StoreClient { 
    @RequestMapping(method = RequestMethod.GET, value = "/stores") 
    List<Store> getStores(); 

    @RequestMapping(method = RequestMethod.POST, value = "/stores/{storeId}", consumes = "application/json") 
    Store update(@PathVariable("storeId") Long storeId, Store store); 
} 
Verwandte Themen