9 Stimmen

Wie konsumiert man REST-URLs mit Spring MVC?

Ich habe einige RESTful-Methoden entwickelt und sie über Apache Cxf ausgesetzt

Ich entwickle die clientseitige Anwendung mit Spring MVC und bin auf der Suche nach einem einfachen Beispiel, um zu demonstrieren, wie man diese REST-Methoden mit Spring MVC aufruft/verbraucht

Ich weiß, wie man es mit Apache http-Client zu tun, aber lieber Spring MVC verwenden, falls dies bereits dort implementiert wurde.

0 Stimmen

Schauen Sie sich dies an tutorial für ein sehr einfaches Beispiel.

0 Stimmen

Es fällt mir schwer zu verstehen, worum es hier geht: Wollen Sie eine Spring MVC-Anwendung zwischen dem Browser und einem anderen RESTful-Service als eine Art Proxy verwenden, oder einfach einen RESTful-Service mit Spring MVC neu implementieren?

17voto

Tomasz Nurkiewicz Punkte 322861

Spring bietet einen einfachen Wrapper zur Nutzung von RESTful-Diensten namens RestTemplate . Es führt die Auflösung von Pfadvariablen sowie das Ein- und Ausmarschieren durch:

Map<String, Integer> vars = new HashMap<String, Integer>();
vars.put("hotelId", 42);
vars.put("roomId", 13);
Room room = restTemplate.getForObject(
  "http://example.com/hotels/{hotelId}/rooms/{roomId}", 
  Room.class, vars);

Angenommen, Room ist ein JAXB-Objekt, das von The RestTemplate .

Beachten Sie, dass diese Klasse nichts mit Spring MVC zu tun hat. Sie können sie in einer MVC-Anwendung, aber auch in einer eigenständigen Anwendung verwenden. Sie ist eine Client-Bibliothek.

Siehe auch

1voto

Liam Punkte 2823

Verwenden Sie Pfadvariablen, um REST-Daten zu konsumieren. Zum Beispiel:

https://localhost/products/{12345}

Dieses Muster sollte Ihnen die Details des Produkts mit der Produkt-ID 12345 anzeigen.

@RequestMapping(value="/products/{productId}")
@ResponseBody
public SomeModel doProductProcessing(@PathVariable("productId") String productId){
//do prpcessing with productid
return someModel;
}

Wenn Sie den Rest Service von einem anderen Dienst aus konsumieren wollen, schauen Sie sich das an:

http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/client/RestTemplate.html

http://www.informit.com/guides/content.aspx?g=java&seqNum=546

1 Stimmen

Ich bin mir nicht sicher, ob Ihr Beispiel wirklich hilfreich ist, da die REST-API bereits existiert. Ich denke, die Frage ist, wie man dies mit Spring MVC in Klassen abbilden kann, die der Rest seines Clients konsumieren kann.

1 Stimmen

Wenn ich richtig verstanden habe, möchte der OP, dass die Spring MVC-Anwendung eine Kunde einer anderen RESTful-Anwendung.

0 Stimmen

Ich habe eine einfache Methode hinzugefügt, um die Produkt-ID von URL-Muster zu greifen

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X