Frage Optionaler Anforderungskopf im Spring Rest Service


Ich benutze den Spring Restful Web Service und habe einen Anfragetext mit dem Header der Anfrage, wie unten gezeigt:

@RequestMapping(value = "/mykey", method = RequestMethod.POST, consumes="applicaton/json")
public ResponseEntity<String> getData(@RequestBody String body, @RequestHeader("Auth") String authorization)  {
try {
    ....
} catch (Exception e) {
    ....
}
}

Ich möchte einen weiteren optionalen Anfrage-Header namens "X-MyHeader" übergeben. Wie gebe ich diesen optionalen Anforderungsheader im Spring Rest Service an?

Wie gebe ich den gleichen Wert im Antwortheader? Vielen Dank!

UPDATE: Ich habe gerade festgestellt, dass ich Request = false in Request-Header setzen kann, so dass ein Problem gelöst ist. Nun, das einzige Problem bleibt, wie setze ich den Header in der Antwort ??


6
2018-01-21 21:40


Ursprung


Antworten:


Diese Frage wird hier beantwortet: In Spring MVC, wie kann ich den Mime-Typ-Header festlegen, wenn Sie @ResponseBody verwenden

Hier ist ein Codebeispiel von: http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html#mvc-ann-htpentiity

@RequestMapping("/something")
public ResponseEntity<String> handle(HttpEntity<byte[]> requestEntity) throws UnsupportedEncodingException {
  String requestHeader = requestEntity.getHeaders().getFirst("MyRequestHeader");
  byte[] requestBody = requestEntity.getBody();
  // do something with request header and body

  HttpHeaders responseHeaders = new HttpHeaders();
  responseHeaders.set("MyResponseHeader", "MyValue");
  return new ResponseEntity<String>("Hello World", responseHeaders, HttpStatus.CREATED);
}

3
2018-01-22 15:51