2016-11-30 2 views
0

Ich habe eine Spring-Boot-Anwendung. Ich benutze eine Ruhearchitektur.HttpHeaders und Status-Wert

Ich habe diese Methode.

@RequestMapping(value = "/members/card/{cardId}", method = RequestMethod.HEAD) 
public ResponseEntity hasCardIdValid(@PathVariable(value = "cardId") String cardId) { 
    return memberService.hasCardIdValid(cardId) ? new ResponseEntity(HttpStatus.OK) : new ResponseEntity(HttpStatus.NOT_FOUND); 
} 

Ich eine andere Anwendung möchte ich hasCardIdValid Methode aufrufen. Ich schrieb diesen Code

HttpHeaders response = restTemplate.headForHeaders("/rest/members/card/{cardId}", cardId); 

Ich finde keine Möglichkeit, die 200 oder 404 Wert von Antwort zu erhalten. Ich sehe keine Methode dafür. Ist es möglich?

+0

sollten Sie 'Exchange' Methode von RestTemapate verwenden. Rufen Sie responseEntity.getStatusCode() nach ResponseEntity auf – GVArt

Antwort

0

Dies ist, weil Sie HttpHeaders als Ergebnis Ihrer restTemplate#headForHeaders() Methodenaufruf zurück erhalten.

Wenn Sie den Status abrufen möchten, müssen Sie stattdessen eine der Methoden RestTemplate #exchange() aufrufen (es gibt einige überladene Methodensignaturen), die Ihnen eine ResponseEntity zurückgeben, auf die Sie zugreifen können getStatus().

Verwandte Themen