Heim  >  Artikel  >  Java  >  Wie ordne ich eine HTTP-Anfrage einer Methode zu? Erste Schritte mit SpringBoot: URL-Zuordnung

Wie ordne ich eine HTTP-Anfrage einer Methode zu? Erste Schritte mit SpringBoot: URL-Zuordnung

php是最好的语言
php是最好的语言Original
2018-07-27 10:24:025811Durchsuche

0x000 Übersicht: Ordnen Sie eine HTTP-Anfrage einer Methode zu. 0x001 @RequestMapping: Diese Annotation kann einem Controller oder einer Methode hinzugefügt werden. Wenn sie dem Controller

0x000 Overview

hinzugefügt wird, wird eine http-Anfrage einer Methode

zugeordnet 0x001 @RequestMapping

Diese Annotation kann zu einem bestimmten Controller oder einer Methode hinzugefügt werden. Wenn sie zu einem Controller hinzugefügt wird, werden alle Routen in diesem Controller zugeordnet. Es werden Kastanien unten angezeigt. Wenn es zur Methode hinzugefügt wird, gibt es kein Präfix (unten werden Kastanien angezeigt).

@RequestMapping hat die folgenden Attribute

  • value: Der Pfad des angeforderten URL

  • path: Gleich wie value

  • method: Anforderungsmethode

  • consumes: Zulässige Medientypen, also Content-Type

  • produces: Der entsprechende Medientyp, also Accept

  • params: Anforderungsparameter

  • headers: Anforderungsheader

0x002 Routenanpassung

  1. zuerst schreiben Controller, Controller Das @RestController in der Kopfzeile markiert diesen Controller als Rest-Controller:

    package com.lyxxxx.rest.controller;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class HelloController {
    
    }
  2. Methode hinzufügen und eine URL-Übereinstimmung hinzufügen:

        @RequestMapping()
        public Object hello() {
            return "hello";
        }

    Erklärung: Oben wurde eine Methode mit dem Namen hello hinzugefügt. Wenn keine Attribute angegeben sind, stimmt sie standardmäßig mit allen URL überein, und die Methode ist GET, sodass wir direkt Weg zum Zugriff auf die Route GET

    $ curl 127.0.0.1:8080
    hello
    $ curl 127.0.0.1:8080/user
    hello
    $ curl 127.0.0.1:8080/user/1
    hello
  3. Genaue Übereinstimmung

    @RequestMapping(value = "/hello2")
    public Object hello2() {
        return "hello2";
    }

    Erklärung: auf , sodass beim Zugriff auf value die hello2Methodehello2

    $ curl 127.0.0.1:8080/hello2
    hello2
    hello2
  4. Character Fuzzy Matching
  5. @RequestMapping(value = "/hello3/*")
    public Object hello3() {
        return "hello3";
    }

    Beschreibung : Das Obige setzt

    auf und stimmt mit allen Zeichen überein, d > valueEinzelzeichen-Fuzzy-Matching/hello3/*

    $ curl 127.0.0.1:8080/hello3/user
    hello3
     curl 127.0.0.1:8080/hello3/1
    hello3
    *hello3URLErklärung: Das obige setzt
    auf
  6. ,
  7. stimmt mit einem einzelnen Zeichen überein, stimmt mit

    überein, stimmt aber nicht überein

    $ curl 127.0.0.1:8080/hello4/1
    hello4

    valueFuzzy-Übereinstimmung mit vollständigem Pfad /hello4/?

    $ curl 127.0.0.1:8080/hello4/1
    hello4
    $ curl 127.0.0.1:8080/hello4/12
    {"timestamp":"2018-07-25T05:29:39.105+0000","status":404,"error":"Not Found","message":"No message available","path":"/hello4/12"}
    ?hello4/1hello4/11Erklärung:
    oben festlegen Für
  8. stimmt
  9. mit allen Pfaden überein, sodass alle Routen unten

    mit dieser Methode übereinstimmen

    @RequestMapping(value = "/hello5/**")
    public Object hello5() {
        return "hello5";
    }

    Mehrere Pfade stimmen mit value

    $ curl 127.0.0.1:8080/hello5
    hello5
    $ curl 127.0.0.1:8080/hello5/user/1
    hello5
    /hello5/**
    @RequestMapping(value = {"/hello6", "/hello6/1"})
    public Object hello6() {
        return "hello6";
    }
    überein **hello5
    Konfiguration lesen
  10. $ curl 127.0.0.1:8080/hello6
    hello6
    $ curl 127.0.0.1:8080/hello6/1
    hello6F
  11. // resources/application.properties
    
    app.name=hello7
    
    // com.lyxxxx.rest.controller.HelloController
    
    @RequestMapping(value = "${app.name}")
    public Object hello7() {
        return "hello7";
    }

    0x003 method match
  12. Match request

    in

    , Aufzählungswert geschrieben in
    :

methodRequestMethod

  • GET

  • HEAD

  • POST

  • PUT

  • PATCH

  • DELETE

  • OPTIONS

    $ curl 127.0.0.1:8080/hello7
    hello7
    rrree 0x003 Parameter passen zu
  • Zusätzlich zum Abgleich von

    und TRACE kann es auch mit

  • package com.lyxxxx.rest.controller;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class MethodController {
        @RequestMapping(path = "method/get", method = RequestMethod.GET)
        public Object get() {
            return "get";
        }
    
        @RequestMapping(path = "method/head", method = RequestMethod.HEAD)
        public Object head() {
            return "head";
        }
    
        @RequestMapping(path = "method/post", method = RequestMethod.POST)
        public Object post() {
            return "post";
        }
    
        @RequestMapping(path = "method/put", method = RequestMethod.PUT)
        public Object put() {
            return "put";
        }
    
        @RequestMapping(path = "method/patch", method = RequestMethod.PATCH)
        public Object patch() {
            return "patch";
        }
    
        @RequestMapping(path = "method/delete", method = RequestMethod.DELETE)
        public Object delete() {
            return "delete";
        }
    
        @RequestMapping(path = "method/options", method = RequestMethod.OPTIONS)
        public Object options() {
            return "options";
        }
    
        @RequestMapping(path = "method/trace", method = RequestMethod.TRACE)
        public Object trace() {
            return "trace";
        }
    
    
    }
    $ curl -X GET  127.0.0.1:8080/method/get
    get
    $ curl -X POST 127.0.0.1:8080/method/post
    post
    $ curl -X DELETE 127.0.0.1:8080/method/delete
    delete
    $ curl -X PUT 127.0.0.1:8080/method/put
    put
    ...
0x004 Beschreibung

den obigen Referenzdaten übereinstimmen: „Spring Boot2 The Essence: From Building Von kleinen Systemen zur Architektur und Bereitstellung großer Systeme“

URLVerwandte Artikel: methodparams

Grundlagen für den Einstieg in mybatis (4)----Eingabezuordnung und Ausgabezuordnung

„URL-Zuordnungsregeln“ und „Server-Antwortreihenfolge“ in Django

Verwandte Videos:

CSS3-Einführungs-Tutorial

Das obige ist der detaillierte Inhalt vonWie ordne ich eine HTTP-Anfrage einer Methode zu? Erste Schritte mit SpringBoot: URL-Zuordnung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn