A senha é apenas um demo. Bem, o meu objetivo é fazer que o usuário logado ao cadastrar um novo endereço que fique salvo no id que pertence a ele, não que fica null no banco de dados. Talvez estou me expressando errado, mas fiz outro teste e sinto que to errando.
@RestController
@RequestMapping("/users")
@AllArgsConstructor
public class UserController {
private final UserService service;
@PostMapping("/")
public ResponseEntity<User> createUser(@RequestBody User entity) {
return ResponseEntity
.status(HttpStatus.CREATED)
.body(service.createUser(entity));
}
@PostMapping("/{userId}/address")
public ResponseEntity<Address> createAddress(@PathVariable UUID userId,
@RequestBody Address entity) {
return ResponseEntity
.status(HttpStatus.CREATED)
.body(service.createAddress(userId, entity));
}
@GetMapping("/{userId}")
public ResponseEntity<User> getUserById(@PathVariable UUID userId) {
return ResponseEntity
.status(HttpStatus.OK)
.body(service.getUserById(userId));
}
@GetMapping("/{userId}/{addressId}")
public ResponseEntity<Optional<Address>> getAddressById(@PathVariable UUID userId,
@PathVariable UUID addressId) {
return ResponseEntity
.status(HttpStatus.OK)
.body(service.getAddressById(userId, addressId));
}
}