0
私はこのコントローラHttpClientErrorException:404ヌル
@GetMapping(value = "/thanks")
public ModelAndView confirmAccount(
@RequestParam String token,
UriComponentsBuilder uriComponentsBuilder
) {
RestTemplate restTemplate = new RestTemplate();
HttpEntity<Object> entity = new HttpEntity<>(new HttpHeaders());
UriComponents uriComponents
= uriComponentsBuilder.path("/register/token/{token}").buildAndExpand(token);
ResponseEntity<Boolean> response = restTemplate
.exchange(uriComponents.toUri(),
HttpMethod.PUT,
entity,
Boolean.class);
return response.getStatusCode().toString().equals("200")
? new ModelAndView("redirect:/signIn") : new ModelAndView("tokenNotFound");
}
に、私は、このアドレスを呼んでください、私はRestTemplateを使用して、コントローラのアドレスを呼び出そうとし、結果として、私はOKか、NOT FOUND状態 を取得したいですコントローラ。その結果、
@RequestMapping(value = "/register/token/{token}", method = RequestMethod.PUT)
public
HttpEntity<Boolean> confirmAccount(
@PathVariable String token
) {
Optional<User> userOptional = userService.findByActivationToken(token);
if(userOptional.isPresent()) {
User user = userOptional.get();
user.setActivationToken(null);
user.setEnabled(true);
userService.saveUser(user);
} else {
return ResponseEntity.notFound().build();
}
return ResponseEntity.ok(true);
}
、彼女は
org.springframework.web.client.HttpClientErrorException: 404 null
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:63) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:700) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:653) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:628) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:549) ~[spring-web-4.3.10.RELEASE.jar:4.3.10.RELEASE]
at com.service.app.controller.RegisterController.confirmAccount(RegisterController.java:40) ~[classes/:na]
コンソールで私を投げるのはなぜRestTemplateは、結果として、ステータス404を返すように望んでいませんか? ここにコードを入力
を投げますか? –
申し訳ありません。私はコントローラ全体を '/ register'にマップします。ここで私は住所を修正しました。 –
"/ thanks"または "/ register/token"を呼び出すときに、HttpClientErrorException例外が発生するのはいつですか?より多くのstacktraceは役に立ちます – saurabh