我有一個控制器,205如果我們滿足要求而不是200.
@RequestMapping(value = "/profiles/me", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public UserDto updateProfile(@RequestBody @Validated(ProfileValidation.class) UserDto userDto)
throws Exception {
user = userService.updateProfile(userDto);
token = authenticatedService.getToken();
if(user.getAccountStatus == "NOT_ACTIVATED"){
token = authenticationService
.generateNewSession(new UserAuth.Builder().userId(user.getAcquirerId())
.accountStatus(user.getAccountStatus()).role(user.getRole()).build());
// if this happens, I need to return status code 205
}
return DtoAssembler.assemble(user, token);
}
現在它只在成功請求時回傳 200
uj5u.com熱心網友回復:
您可以使用 ResponseEntity 回傳不同的 http 狀態代碼。這是如何做到的
@RequestMapping(value = "/profiles/me", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<UserDto> updateProfile(@RequestBody @Validated(ProfileValidation.class) UserDto userDto)
throws Exception {
user = userService.updateProfile(userDto);
token = authenticatedService.getToken();
HttpStatus httpSttaus = HttpStatus.OK;
if(user.getAccountStatus == "NOT_ACTIVATED"){
token = authenticationService
.generateNewSession(new UserAuth.Builder().userId(user.getAcquirerId())
.accountStatus(user.getAccountStatus()).role(user.getRole()).build());
httpSttaus = HttpStatus.RESET_CONTENT;
// if this happens, I need to return status code 205
}
UserDto userDto = DtoAssembler.assemble(user, token);
return new ResponseEntity<UserDto>(userDto,httpSttaus);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/372972.html
