用springboot写一个修改手机号码的代码
时间: 2024-02-25 16:59:03 浏览: 17
好的,下面是一个简单的示例代码:
```java
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/updatePhoneNumber")
public ResponseEntity<String> updatePhoneNumber(@RequestParam("userId") Long userId,
@RequestParam("newPhoneNumber") String newPhoneNumber) {
User user = userService.getUserById(userId);
if (user == null) {
return ResponseEntity.status(HttpStatus.NOT_FOUND).body("User not found");
}
// 检查新的手机号码是否已经被占用
if (userService.isPhoneNumberAlreadyTaken(newPhoneNumber)) {
return ResponseEntity.status(HttpStatus.CONFLICT).body("New phone number has already been taken");
}
user.setPhoneNumber(newPhoneNumber);
userService.saveUser(user);
return ResponseEntity.ok("Phone number updated successfully");
}
}
```
在上面的代码中,我们首先定义了一个 `UserController` 类,其中包含一个 `updatePhoneNumber` 方法,用于更新用户的手机号码。该方法接收两个参数:`userId` 和 `newPhoneNumber`。我们使用 `@RequestParam` 注解将这两个参数作为请求参数传递进来。
接着,在方法中我们首先通过 `userService.getUserById(userId)` 方法获取到需要更新的用户对象。如果该用户不存在,则返回一个 HTTP 404 响应。
然后,我们检查新的手机号码是否已经被占用。如果是,则返回一个 HTTP 409 响应。
最后,我们更新用户的手机号码,并通过 `userService.saveUser(user)` 方法将其保存到数据库中。最终返回一个 HTTP 200 响应,表示手机号码更新成功。
当然,上述代码只是一个简单的示例,实际情况中可能还需要进行更多的参数校验和异常处理。