Wie bei der Behandlung von HTTP-Headern in Spring MVC?
in dieser Zeit studiere ich die Spring-MVC-showcase Beispiel. Jetzt studiere ich, wie Spring MVC, benötigt Daten.
Ich habe einige Schwierigkeiten zu verstehen, wie HTTP-Request-header verarbeitet werden.
In pratcice ich habe den folgenden link:
<a id="header" class="textLink" href="<c:url value="/data/header" />">Header</a>
Diesen link erzeugen einer HTTP-Anforderung in Richtung der URL: "/data/header"
Dies ist die Methode der RequestDataController Klasse, die diese verarbeitet HTTP-Request (die ganze Klasse ist annoted von @RequestMapping("/data"): mit dieser Methode behandeln /data/header URL)
@RequestMapping(value="header", method=RequestMethod.GET)
public @ResponseBody String withHeader(@RequestHeader String Accept) {
return "Obtained 'Accept' header '" + Accept + "'";
}
Also die withHeader Methode ein parameter, der annoted von @RequestHeader annotation ist eine annotation die anzeigt, dass eine Methode parameter gebunden werden soll ein web-request-header.
Ok, also meine Antwort ist: was genau habe ich innen die variable Annehmen? Der Wert des HTTP-Accetp Header? oder was?
FDW, was ich weiß, Akzeptieren die Anfrage-header-Feld kann verwendet werden, um bestimmte Arten von Medien, die akzeptabel sind für die Reaktion. Accept-Header können verwendet werden, um anzuzeigen, dass die Anforderung ist ausdrücklich beschränkt auf eine kleine Gruppe von gewünschten Arten, wie im Falle einer Anfrage für ein in-line-Bild.
Also meine Ausgabe (der Rückgabewert) ist: Gewonnen 'Accept' - header "text/plain","/; q=0.01'
mmm...was es genau bedeutet, das Accept-Header-Feld Wert?
Danke
Andrea
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, wenn Sie Anmerkungen ein parameter mit @RequestHeader, der name des Parameters wird benutzt für das Auslesen der header-Informationen - in Ihrem Fall wird die header-Namen "Accept" - parameter name hätte
accept
auch die Kopfzeilen abgerufen werden in einem groß-und Kleinschreibung Art und Weise.Könnte man auch explizit angegebenen header-Namen explizit diese Weise:
@RequestHeader("Accept")
Accept-header, wie Sie angegeben haben, ist eine Möglichkeit für den client(browser) zu sagen, was es akzeptieren kann als media-Typ der Antwort zu sein.