Ich habe einen Webservice entwickelt, um eine Aufgabe auszuführen, wenn Anfrageparameter OK sind, oder 401 Nicht autorisierten HTTP-Statuscode zurückgeben, wenn Anfrageparameter falsch oder leer sind.Spring RestTemplate Webservice mit Fehlern aufrufen und Statuscode analysieren
Ich verwende RestTemplate
, um einen Test durchzuführen, und ich kann den HTTP 200 OK-Status überprüfen, wenn der Webservice mit Erfolg antwortet. Ich bin jedoch nicht in der Lage, HTTP 401-Fehler zu testen, da RestTemplate
selbst eine Ausnahme auslöst.
Meine Testmethode ist
@Test
public void testUnauthorized()
{
Map<String, Object> params = new HashMap<String, Object>();
ResponseEntity response = restTemplate.postForEntity(url, params, Map.class);
Assert.assertEquals(HttpStatus.UNAUTHORIZED, response.getStatusCode());
Assert.assertNotNull(response.getBody());
}
Ausnahmeprotokoll
istorg.springframework.web.client.HttpClientErrorException: 401 Unauthorized
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:88)
at org.springframework.web.client.RestTemplate.handleResponseError(RestTemplate.java:533)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:489)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:447)
at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:318)
Wie ich testen kann, wenn Webservice mit einem HTTP-Statuscode antwortet 401?
Hat meine Antwort für Sie funktioniert? – nilesh