私はSOとAndroid開発の新人です。
まず、私の文法やスペルが正しくない場合はお詫び申し上げます。私は英語のネイティブ スピーカーではありません。
Spring for AndroidHTTP GET request
を介して実行しようとしています。401 ( ) などのエラーが発生したときにスローされる例外 ( ) をキャッチしようとするまでは、すべて正常に動作しているように見えます。HttpClientErrorException
HTTP 401 UNAUTHORIZED
何らかの理由で、Spring for Android はこの例外を としてスローしますnull
。
より明確にするために、これは私のコードです:
protected Integer doInBackground(String... arg0) {
String url = "http://192.168.0.105:8080/guniv/rest/test";
String username = eTextUsername.getText().toString();
String password = eTextPassword.getText().toString();
// Setting Http BasicAuth headers
HttpAuthentication authHeader = new HttpBasicAuthentication(username, password);
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.setAuthorization(authHeader);
HttpEntity<?> requestEntity = new HttpEntity<Object>(requestHeaders);
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new StringHttpMessageConverter());
// Doing request!!
try {
ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, requestEntity, String.class);
Log.i("INFO", response.getBody());
} catch (HttpClientErrorException e) { // e is null!!
String message = "";
if( e.getStatusCode() == HttpStatus.UNAUTHORIZED )
message = "Incorrect username or password.";
//do something here...
}
return 0; // TODO
}
なんらかの HTTP エラーが発生し、HttpClientErrorException
がキャッチされると、結果が になりnull
、明らかにe.getStatusCode()
がスローされNullPointerException
ます。
誰かが以前にこの問題を抱えていましたか?
ありがとう、そして私の英語でごめんなさい!