Einführung
Ruhe ist die Repräsentationsstaatsübertragung. (Ressourcen-) Leistungsschichtzustandstransformation. Es ist derzeit die beliebteste Internetsoftwarearchitektur. Es hat eine klare Struktur, die den Standards entspricht, leicht verständlich und leicht zu erweitern ist. Daher wird es von immer mehr Websites übernommen, posten, löschen, platziert und entspricht CRUD. Spring3.0 begann, REST-Stil-Anfragen zu unterstützen und Postanfragen in Put und Löschen von org.springframework.web.filter.hiddenhttpMethodFilter umzuwandeln. In diesem Experiment wird Feder 4.0 verwendet.
HiddenhttpMethodFilter Quellcode
public static final String default_method_param = "_method";@überschriebene protekte void dofilterInternale (httpServletRequest -Anforderung, HttpServletResponse -Antwort, Filterchain Filterchain) ausgeworfen, servletException, IOException {String paramvalue = Anforderung. . {filterchain.dofilter (Anfrage, Antwort);}}Aus dem Quellcode von HiddenhttpMethodFilter ist ersichtlich, dass Feder ihn gemäß dem Parameter _method in der Anforderung umwandelt. Wenn Sie also eine Löschung oder ein REST-Stil initiieren möchten, müssen Sie den Parameter _method nur in das Formular einbeziehen und den Wert von _methode zum Löschen oder Put (CAPS) festlegen. Detaillierte Beispiele sind wie folgt:
Konfigurieren Sie HiddenhttpMethodFilter in web.xml
Handler -Code -Schreibseite schreiben
<!-Konfigurieren Sie org.springframework.web.filter.hiddenhttpMethodFilter, um Postanforderungen in Put- oder Löschen von Anforderungen-> <Filter> <filter-name> HiddenhttpMethodFilter </filter-name> -Name> <Filterklasse> org.springframework.web.filter.hiddenhttpMethodFilter </Filter-Klasse> </filter> <filter-mapping> <filter-name> HiddenhttpMethodFilter </filter-name> <url-Patters>/*</url-pattern> </filter-naping
Paket rex.springmvc.handlers; import org.apache.log4j.logger; import org.springframework.steretype.controller; org.springFramework.web.bind.annotation.Requestparam; @RequestMapPing (value = "/restest")@ControllerPublic class rastestHandler {private static Final Logger Logger = Logger.getLogger (rasttestHandler.class); methode = requestMethod.get) public String rastget (@RequestParam (value = "id", fordert = false) Integer id) {logger.debug ("rastget:" + id); return sculce;}@requestmapping (value = "/restput/{id}", method = requestMethod.put) public String (@requestput) (@requestput) (@requestput) (@requestput (@requestput id) {logger.debug ("restput:" + id); return Erfolg;}@requestMapping (value = "/restDelete/{id}", method = requestMethod.delete) public String rastDelete (@RequestParam (value = "idele, fordert = false) Integer id) {logger.Debugger (" rastDelete) + id) id) {logger.debugger ("rastDelete" + id); Erfolg;}@requestMapping (value = "/restPost", method = requestMethod.post) public String restPost () {logger.debug ("restPost"); Rückgabeerfolg;}}<%@ page Language = "java" contentType = "text/html; charset = utf-8" pageCoding = "utf-8"%> <! docType html public "-// w3c // dtd html 4.01 transitional // en" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Rest Test</title></head><body> <br> <a href="restTest/restGet/1" rel = "externer nofollow"> test rest gettet </a> <br> <Form action = "restest/restput/1" methode = "post"> <Eingabe type = "Hidden" name = "_ method" value = "put"> <Eingabe type = "subjekt" value = "subjekt"> </Form> <Br> <Beform action = "rasttest/rastTest/rastTest/rastDElte/RESTDELT/RESTDEL/1". name = "_ method" value = "delete"> <Eingabe type = "sureichen" value = "sure"> </form> <br> <br> <Formular Action = "restest/restPost" methode = "post"> <input type = "value =" Subjekt "> </Form> </body> </html>> </html>
HINWEIS: Die @RequestParam -Annotation im Handler muss mit dem erforderlichen Parameter hinzugefügt werden, andernfalls tritt ein 400 -Fehler beim Zugriff auf die Seite auf.
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels über die Einführung von SpringMVC -REST -Stil- und Implementierungscode -Beispielen. Ich hoffe, es wird für alle hilfreich sein. Interessierte Freunde können weiterhin auf diese Seite verweisen:
SpringMVC Erste Schritte Beispiel
Detaillierte Erläuterung des User Query Code für die SpringMVC -Entwicklung RESTFORE API
Einführung in die Methode von SpringMVC zur Implementierung eines asynchronen Uploads mithilfe von MultipartFile
Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen.